Mercurial > hg > soundsoftware-site
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(); + } +); + + +