From bfd5b919baca5c63bb3837836af55b473c78be6f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 5 Jun 2016 17:45:41 +0000 Subject: [PATCH] Hide options when permission is not given. git-svn-id: http://svn.redmine.org/redmine/trunk@15468 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/views/roles/_form.html.erb | 26 ++++++++++---------------- public/javascripts/application.js | 5 +++-- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/app/views/roles/_form.html.erb b/app/views/roles/_form.html.erb index 8b7b94c73..49cba3617 100644 --- a/app/views/roles/_form.html.erb +++ b/app/views/roles/_form.html.erb @@ -7,17 +7,17 @@ <% end %> <% unless @role.anonymous? %> -

<%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %>

+

<%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %>

<% end %> <% unless @role.anonymous? %> -

<%= f.select :time_entries_visibility, Role::TIME_ENTRIES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %>

+

<%= f.select :time_entries_visibility, Role::TIME_ENTRIES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]}, {}, :class => "view_time_entries_enabled" %>

<% end %>

<%= f.select :users_visibility, Role::USERS_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %>

<% unless @role.builtin? %> -

+

+

<%= l(:label_issue_tracking) %>

<% permissions = %w(view_issues add_issues edit_issues add_issue_notes delete_issues) %> @@ -72,18 +73,19 @@ <%= l(:label_tracker) %> <% permissions.each do |permission| %> - <%= l("permission_#{permission}") %> + "><%= l("permission_#{permission}") %> <% end %> <%= l(:label_tracker_all) %> <% permissions.each do |permission| %> - + "> <%= hidden_field_tag "role[permissions_all_trackers][#{permission}]", '0', :id => nil %> <%= check_box_tag "role[permissions_all_trackers][#{permission}]", '1', @role.permissions_all_trackers?(permission), + :class => "#{permission}_shown", :data => {:disables => ".#{permission}_tracker"} %> <% end %> @@ -92,7 +94,7 @@ "> <%= tracker.name %> <% permissions.each do |permission| %> - <%= check_box_tag "role[permissions_tracker_ids][#{permission}][]", + "><%= check_box_tag "role[permissions_tracker_ids][#{permission}][]", tracker.id, @role.permissions_tracker_ids?(permission, tracker.id), :class => "#{permission}_tracker", @@ -108,11 +110,3 @@ <%= hidden_field_tag "role[permissions_tracker_ids][#{permission}][]", '' %> <% end %>
- -<%= javascript_tag do %> -$(document).ready(function(){ - $("#role_permissions_manage_members").change(function(){ - $("#manage_members_options").toggle($(this).is(":checked")); - }).change(); -}); -<% end %> diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 743b14ff6..347611bb2 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -719,9 +719,10 @@ function toggleDisabledOnChange() { var checked = $(this).is(':checked'); $($(this).data('disables')).attr('disabled', checked); $($(this).data('enables')).attr('disabled', !checked); + $($(this).data('shows')).toggle(checked); } function toggleDisabledInit() { - $('input[data-disables], input[data-enables]').each(toggleDisabledOnChange); + $('input[data-disables], input[data-enables], input[data-shows]').each(toggleDisabledOnChange); } (function ( $ ) { @@ -751,7 +752,7 @@ function toggleDisabledInit() { }( jQuery )); $(document).ready(function(){ - $('#content').on('change', 'input[data-disables], input[data-enables]', toggleDisabledOnChange); + $('#content').on('change', 'input[data-disables], input[data-enables], input[data-shows]', toggleDisabledOnChange); toggleDisabledInit(); }); -- 2.39.5