changeset 161:bad82329a115 feature_55

new javascript for institution field handling.
author luisf
date Mon, 31 Jan 2011 13:41:00 +0000
parents 7eb2194ee428
children bd3f92477cbb
files app/controllers/users_controller.rb app/views/account/register.rhtml app/views/users/_form.rhtml public/javascripts/application.js public/javascripts/ssamr_institutions.js
diffstat 5 files changed, 40 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/app/controllers/users_controller.rb	Fri Jan 28 18:44:56 2011 +0000
+++ b/app/controllers/users_controller.rb	Mon Jan 31 13:41:00 2011 +0000
@@ -144,9 +144,15 @@
     @notification_option = @user.mail_notification
     
     @ssamr_user_details = @user.ssamr_user_detail
-
-    @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i
-    @institution_type = @ssamr_user_details.institution_type
+    
+    if @ssamr_user_details.institution_type.blank?
+      @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i
+      @institution_type = @ssamr_user_details.institution_type
+    else
+      @selected_institution_id = false
+      @institution_type = true
+    end
+    
     
     @auth_sources = AuthSource.find(:all)
     @membership ||= Member.new
--- a/app/views/account/register.rhtml	Fri Jan 28 18:44:56 2011 +0000
+++ b/app/views/account/register.rhtml	Mon Jan 31 13:41:00 2011 +0000
@@ -1,3 +1,5 @@
+<%= javascript_include_tag "ssamr_institutions" %>
+
 <h2><%=l(:label_register)%> <%=link_to l(:label_login_with_open_id_option), signin_url if Setting.openid? %></h2>
 
 <% form_tag({:action => 'register'}, :class => "tabular") do %>
--- a/app/views/users/_form.rhtml	Fri Jan 28 18:44:56 2011 +0000
+++ b/app/views/users/_form.rhtml	Mon Jan 31 13:41:00 2011 +0000
@@ -1,5 +1,5 @@
 
-<%= javascript_include_tag :defaults %>
+<%= javascript_include_tag "ssamr_institutions" %>
 
 <%= error_messages_for 'user' %>
 
@@ -29,14 +29,14 @@
               <%= ssamr_user_detail.text_area :description, :rows => 3, :cols => 40, :required => true, :class => 'wiki-edit'  %>                            
             </p>
             <p>
-              <%= ssamr_user_detail.radio_button :institution_type, true, :onchange => "enable_disable_institution_field($('ssamr_user_details_institution_type_true')); enable_disable_institution_field('ssamr_user_details_institution_type_false');" %>
+              <%= ssamr_user_detail.radio_button :institution_type, true %>
               
               <%= ssamr_user_detail.collection_select(:institution_id, Institution.all, :id, :name, {:selected => @selected_institution_id} ) %>
             </p>
 
             <p>
                <%= ssamr_user_detail.radio_button :institution_type, false %> Other:
-               <%= ssamr_user_detail.text_field(:other_institution) %>
+               <%= ssamr_user_detail.text_field :other_institution %>
             </p>
           <% end %>
 </div>
--- a/public/javascripts/application.js	Fri Jan 28 18:44:56 2011 +0000
+++ b/public/javascripts/application.js	Mon Jan 31 13:41:00 2011 +0000
@@ -241,28 +241,5 @@
 Event.observe(window, 'load', hideOnLoad);
 
 
-/* SSAMR specific functions */
 
-/* institution related functions */
-Event.observe(window, 'load',
-  function() {
-    if($('ssamr_user_details_institution_type_true').checked)
-        $('ssamr_user_details_other_institution').disable();
-    else if($('ssamr_user_details_institution_type_false').checked)
-        $('ssamr_user_details_institution_id').disable();
-  }
-);
 
-
-function enable_disable_institution_field(field){
-
-    // if($(field).enabled)
-    // field.disable();
-    // else
-    field.enable();
-
-}
-
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/public/javascripts/ssamr_institutions.js	Mon Jan 31 13:41:00 2011 +0000
@@ -0,0 +1,26 @@
+
+
+/* SSAMR specific functions */
+
+/* institution related functions */
+Event.observe(window, 'load',
+  function() {
+	$('ssamr_user_details_institution_type_true').observe('click', function(e, el) {
+	    $('ssamr_user_details_other_institution').disable();
+		$('ssamr_user_details_institution_id').enable();
+	});
+
+	$('ssamr_user_details_institution_type_false').observe('click', function(e, el) {
+	    $('ssamr_user_details_other_institution').enable();
+		$('ssamr_user_details_institution_id').disable();
+	});
+
+    if($('ssamr_user_details_institution_type_true').checked)
+        $('ssamr_user_details_other_institution').disable();
+    else if($('ssamr_user_details_institution_type_false').checked)
+        $('ssamr_user_details_institution_id').disable();
+  }
+);
+
+
+