From: Go MAEDA Date: Tue, 24 Sep 2019 04:18:44 +0000 (+0000) Subject: Don't show unsettable permissions in the tracker permissions table (#30431). X-Git-Tag: 4.1.0~572 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ca16a23ad5ad235ec2b981750fb8dbb09e208d2d;p=redmine.git Don't show unsettable permissions in the tracker permissions table (#30431). Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@18508 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/views/roles/_form.html.erb b/app/views/roles/_form.html.erb index 4a49d53de..e149b0011 100644 --- a/app/views/roles/_form.html.erb +++ b/app/views/roles/_form.html.erb @@ -47,7 +47,8 @@

<%= l(:label_permissions) %>

-<% perms_by_module = @role.setable_permissions.group_by {|p| p.project_module.to_s} %> +<% setable_permissions = @role.setable_permissions %> +<% perms_by_module = setable_permissions.group_by {|p| p.project_module.to_s} %> <% perms_by_module.keys.sort.each do |mod| %> <% module_name = mod.blank? ? 'module_project' : "module_#{mod}" %>
<%= toggle_checkboxes_link("##{module_name}\ input") %><%= mod.blank? ? l(:label_project) : l_or_humanize(mod, :prefix => 'project_module_') %> @@ -67,7 +68,7 @@

<%= l(:label_issue_tracking) %>

-<% permissions = %w(view_issues add_issues edit_issues add_issue_notes delete_issues) %> +<% permissions = [:view_issues, :add_issues, :edit_issues, :add_issue_notes, :delete_issues] & setable_permissions.collect(&:name) %>
diff --git a/test/functional/roles_controller_test.rb b/test/functional/roles_controller_test.rb index e78370a46..dccb37fc7 100644 --- a/test/functional/roles_controller_test.rb +++ b/test/functional/roles_controller_test.rb @@ -158,6 +158,7 @@ class RolesControllerTest < Redmine::ControllerTest assert_select 'input[name=?][value=?]', 'role[name]', 'Manager' assert_select 'select[name=?]', 'role[issues_visibility]' + assert_select '#role-permissions-trackers table .delete_issues_shown' end def test_edit_anonymous @@ -166,6 +167,7 @@ class RolesControllerTest < Redmine::ControllerTest assert_select 'input[name=?]', 'role[name]', 0 assert_select 'select[name=?]', 'role[issues_visibility]', 0 + assert_select '#role-permissions-trackers table .delete_issues_shown', 0 end def test_edit_invalid_should_respond_with_404