diff app/controllers/users_controller.rb @ 193:90cc857e968a luisf

Merge from branch "feature_64"
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Mon, 07 Feb 2011 12:52:57 +0000
parents f9fe5ef6156e
children 73ff0e6a11b1
line wrap: on
line diff
--- a/app/controllers/users_controller.rb	Mon Jan 24 14:35:24 2011 +0000
+++ b/app/controllers/users_controller.rb	Mon Feb 07 12:52:57 2011 +0000
@@ -54,8 +54,14 @@
 
     if @user.ssamr_user_detail != nil
       @description = @user.ssamr_user_detail.description
-      if @user.ssamr_user_detail.institution_id != nil
-        @institution_name = Institution.find(@user.ssamr_user_detail.institution_id).name
+      
+      if @user.ssamr_user_detail.institution_type != nil
+        # institution_type is true for listed institutions
+        if (@user.ssamr_user_detail.institution_type)
+          @institution_name = Institution.find(@user.ssamr_user_detail.institution_id).name
+        else
+          @institution_name = @user.ssamr_user_detail.other_institution
+        end
       end
     end
     
@@ -85,11 +91,6 @@
     @auth_sources = AuthSource.find(:all)
 
     @ssamr_user_details = SsamrUserDetail.new
-
-    # default value
-    @selected_institution_id = 1
-
-    
   end
   
   verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }
@@ -138,7 +139,12 @@
     @notification_option = @user.mail_notification
     
     @ssamr_user_details = @user.ssamr_user_detail
-    @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i
+    
+    if @user.ssamr_user_detail == nil
+      @selected_institution_id = nil
+    else
+      @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i    
+    end
     
     @auth_sources = AuthSource.find(:all)
     @membership ||= Member.new
@@ -175,10 +181,14 @@
     if params[:ssamr_user_details].nil? or params[:ssamr_user_details].empty?
       @ssamr_user_details.description = @user.ssamr_user_detail.description
       @ssamr_user_details.institution_id = @user.ssamr_user_detail.institution_id
+      @ssamr_user_details.other_institution = @user.ssamr_user_detail.other_institution
+      @ssamr_user_details.institution_type = @user.ssamr_user_detail.institution_type
+
     else
       @ssamr_user_details.description = params[:ssamr_user_details][:description]
       @ssamr_user_details.institution_id = params[:ssamr_user_details][:institution_id]
-      @ssamr_user_details.save!
+      @ssamr_user_details.other_institution = params[:ssamr_user_details][:other_institution]
+      @ssamr_user_details.institution_type = params[:ssamr_user_details][:institution_type]
     end
 
     if @user.save