From ead329812e2692edbc78174fee5553e19d4e837a Mon Sep 17 00:00:00 2001 From: Fabio Teixeira Date: Thu, 16 Jan 2014 09:42:33 -0200 Subject: [PATCH] check_all_manage_fields: - When the field "check/uncheck all" is checked or unchecked, all fields below are checked or unchecked - Corrected onclick events on active/required/signup fields - Replaced javascript logic from person/community/enterprise to a single javascript file - Cucumber tests for check/uncheck all fields --- app/views/features/_manage_community_fields.rhtml | 30 +++++++++++++++++++++++------- app/views/features/_manage_enterprise_fields.rhtml | 30 +++++++++++++++++++++++------- app/views/features/_manage_person_fields.rhtml | 31 ++++++++++++++++++++++++------- app/views/features/manage_fields.rhtml | 2 ++ features/manage_fields.feature | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public/javascripts/manage-fields.js | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 222 insertions(+), 21 deletions(-) create mode 100644 features/manage_fields.feature create mode 100644 public/javascripts/manage-fields.js diff --git a/app/views/features/_manage_community_fields.rhtml b/app/views/features/_manage_community_fields.rhtml index f5972be..491dffe 100644 --- a/app/views/features/_manage_community_fields.rhtml +++ b/app/views/features/_manage_community_fields.rhtml @@ -9,21 +9,37 @@ <%= _('Required') %> <%= _('Display on creation?') %> + + + + <%= _("Check/Uncheck All")%> + + + + + + + + + + + + <% @community_fields.each do |field| %> <%= hidden_field_tag "community_fields[#{field}][active]", false %> - <%= check_box_tag "community_fields[#{field}][active]", true, environment.custom_community_field(field, 'active'), :onclick => "$('community_fields[#{field}][required]').disabled=$('community_fields[#{field}][signup]').disabled=!this.checked;" %> + <%= check_box_tag "community_fields[#{field}][active]", true, environment.custom_community_field(field, 'active'), :onclick => "active_action(this, 'community_fields[#{field}][required]', 'community_fields[#{field}][signup]')" %> <%= hidden_field_tag "community_fields[#{field}][required]", false %> - <%= check_box_tag "community_fields[#{field}][required]", true, environment.custom_community_field(field, 'required'), :onclick => "if(this.checked) $('community_fields[#{field}][signup]').checked = true;" %> + <%= check_box_tag "community_fields[#{field}][required]", true, environment.custom_community_field(field, 'required'), :onclick => "required_action('community_fields[#{field}][active]','community_fields[#{field}][required]', 'community_fields[#{field}][signup]')" %> <%= hidden_field_tag "community_fields[#{field}][signup]", false %> - <%= check_box_tag "community_fields[#{field}][signup]", true, environment.custom_community_field(field, 'signup'), :onclick => "if(!this.checked) $('community_fields[#{field}][required]').checked = false;" %> + <%= check_box_tag "community_fields[#{field}][signup]", true, environment.custom_community_field(field, 'signup'), :onclick => "signup_action('community_fields[#{field}][active]','community_fields[#{field}][required]', 'community_fields[#{field}][signup]')" %> @@ -31,18 +47,18 @@
<% button_bar do %> - <%= submit_button('save', _('Save changes')) %> + <%= submit_button('save', _('Save changes'), :id=>"save_community_fields") %> <%= button :back, _('Back to admin panel'), :controller => 'admin_panel', :action => 'index' %> <% end %>
diff --git a/app/views/features/_manage_enterprise_fields.rhtml b/app/views/features/_manage_enterprise_fields.rhtml index 6c4b731..0f3195f 100644 --- a/app/views/features/_manage_enterprise_fields.rhtml +++ b/app/views/features/_manage_enterprise_fields.rhtml @@ -9,21 +9,37 @@ <%= _('Required') %> <%= _('Display on registration?') %> + + + + <%= _("Check/Uncheck All")%> + + + + + + + + + + + + <% @enterprise_fields.each do |field| %> <%= hidden_field_tag "enterprise_fields[#{field}][active]", false %> - <%= check_box_tag "enterprise_fields[#{field}][active]", true, environment.custom_enterprise_field(field, 'active'), :onclick => "$('enterprise_fields[#{field}][required]').disabled=$('enterprise_fields[#{field}][signup]').disabled=!this.checked;" %> + <%= check_box_tag "enterprise_fields[#{field}][active]", true, environment.custom_enterprise_field(field, 'active'), :onclick => "active_action(this, 'enterprise_fields[#{field}][required]', 'enterprise_fields[#{field}][signup]')" %> <%= hidden_field_tag "enterprise_fields[#{field}][required]", false %> - <%= check_box_tag "enterprise_fields[#{field}][required]", true, environment.custom_enterprise_field(field, 'required'), :onclick => "if(this.checked) $('enterprise_fields[#{field}][signup]').checked = true;" %> + <%= check_box_tag "enterprise_fields[#{field}][required]", true, environment.custom_enterprise_field(field, 'required'), :onclick => "required_action('enterprise_fields[#{field}][active]','enterprise_fields[#{field}][required]', 'enterprise_fields[#{field}][signup]')" %> <%= hidden_field_tag "enterprise_fields[#{field}][signup]", false %> - <%= check_box_tag "enterprise_fields[#{field}][signup]", true, environment.custom_enterprise_field(field, 'signup'), :onclick => "if(!this.checked) $('enterprise_fields[#{field}][required]').checked = false;" %> + <%= check_box_tag "enterprise_fields[#{field}][signup]", true, environment.custom_enterprise_field(field, 'signup'), :onclick => "signup_action('enterprise_fields[#{field}][active]','enterprise_fields[#{field}][required]', 'enterprise_fields[#{field}][signup]')" %> @@ -31,18 +47,18 @@
<% button_bar do %> - <%= submit_button('save', _('Save changes')) %> + <%= submit_button('save', _('Save changes'), :id=>"save_enterprise_fields") %> <%= button :back, _('Back to admin panel'), :controller => 'admin_panel', :action => 'index' %> <% end %>
diff --git a/app/views/features/_manage_person_fields.rhtml b/app/views/features/_manage_person_fields.rhtml index 39f879b..2f5e31d 100644 --- a/app/views/features/_manage_person_fields.rhtml +++ b/app/views/features/_manage_person_fields.rhtml @@ -9,31 +9,48 @@ <%= _('Required') %> <%= _('Display on signup?') %> + + + + <%= _("Check/Uncheck All")%> + + + + + + + + + + + + <% @person_fields.each do |field| %> <%= hidden_field_tag "person_fields[#{field}][active]", false %> - <%= check_box_tag "person_fields[#{field}][active]", true, environment.custom_person_field(field, 'active'), :onclick => "$('person_fields[#{field}][required]').disabled=$('person_fields[#{field}][signup]').disabled=!this.checked;" %> + <%= check_box_tag "person_fields[#{field}][active]", true, environment.custom_person_field(field, 'active'), :onclick => "active_action(this, 'person_fields[#{field}][required]', 'person_fields[#{field}][signup]')" %> <%= hidden_field_tag "person_fields[#{field}][required]", false %> - <%= check_box_tag "person_fields[#{field}][required]", true, environment.custom_person_field(field, 'required'), :onclick => "if(this.checked) $('person_fields[#{field}][signup]').checked = true;" %> + <%= check_box_tag "person_fields[#{field}][required]", true, environment.custom_person_field(field, 'required'), :onclick => "required_action('person_fields[#{field}][active]','person_fields[#{field}][required]', 'person_fields[#{field}][signup]')" %> <%= hidden_field_tag "person_fields[#{field}][signup]", false %> - <%= check_box_tag "person_fields[#{field}][signup]", true, environment.custom_person_field(field, 'signup'), :onclick => "if(!this.checked) $('person_fields[#{field}][required]').checked = false;" %> + <%= check_box_tag "person_fields[#{field}][signup]", true, environment.custom_person_field(field, 'signup'), :onclick => "signup_action('person_fields[#{field}][active]','person_fields[#{field}][required]', 'person_fields[#{field}][signup]')" %> <% end %>