From 873580ca74a392ca3f8cec78b214f8c70f5d6f17 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Mon, 10 Jan 2022 07:11:14 +0000 Subject: [PATCH] Permission check of the setting button on the issues page mismatches button semantics (#35090). Patch by Takenori TAKAKI. git-svn-id: http://svn.redmine.org/redmine/trunk@21357 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/views/issues/index.html.erb | 2 +- test/functional/issues_controller_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/views/issues/index.html.erb b/app/views/issues/index.html.erb index 880c953ea..b05b6ccf2 100644 --- a/app/views/issues/index.html.erb +++ b/app/views/issues/index.html.erb @@ -13,7 +13,7 @@ <%= link_to_if_authorized l(:label_settings), {:controller => 'projects', :action => 'settings', :id => @project, :tab => 'issues'}, - :class => 'icon icon-settings' if User.current.allowed_to?(:manage_categories, @project) %> + :class => 'icon icon-settings' if User.current.allowed_to?(:edit_project, @project) %> <% end %> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 8074ca3f2..2af871d54 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -2005,6 +2005,22 @@ class IssuesControllerTest < Redmine::ControllerTest assert_select '#content a.new-issue[href="/issues/new"]', :text => 'New issue' end + def test_index_should_show_setting_link_with_edit_project_permission + role = Role.find(1) + role.add_permission! :edit_project + @request.session[:user_id] = 2 + get(:index, :params => {:project_id => 1}) + assert_select '#content a.icon-settings[href="/projects/ecookbook/settings/issues"]', 1 + end + + def test_index_should_not_show_setting_link_without_edit_project_permission + role = Role.find(1) + role.remove_permission! :edit_project + @request.session[:user_id] = 2 + get(:index, :params => {:project_id => 1}) + assert_select '#content a.icon-settings[href="/projects/ecookbook/settings/issues"]', 0 + end + def test_index_should_not_include_new_issue_tab_when_disabled with_settings :new_item_menu_tab => '0' do @request.session[:user_id] = 2 -- 2.39.5