From ddbd04ff2c35a940aad21f3022d0b5854c685f8c Mon Sep 17 00:00:00 2001 From: Holger Just Date: Tue, 9 Feb 2021 19:06:59 +0100 Subject: [PATCH] Allow to use watch_by filter in the global issues list --- app/models/query.rb | 2 +- test/functional/queries_controller_test.rb | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/models/query.rb b/app/models/query.rb index 039e38e325..f81f5782a8 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -615,7 +615,7 @@ def issue_statuses_values def watcher_values watcher_values = [["<< #{l(:label_me)} >>", "me"]] - if User.current.allowed_to?(:view_issue_watchers, self.project) + if User.current.allowed_to?(:view_issue_watchers, self.project, global: true) watcher_values += principals.sort_by(&:status). collect{|s| [s.name, s.id.to_s, l("status_#{User::LABEL_BY_STATUS[s.status]}")]} diff --git a/test/functional/queries_controller_test.rb b/test/functional/queries_controller_test.rb index f0a27f32bd..4b4b6d8a78 100644 --- a/test/functional/queries_controller_test.rb +++ b/test/functional/queries_controller_test.rb @@ -895,4 +895,26 @@ def test_watcher_filter_with_permission_should_show_members_and_groups assert_include ["Dave2 Lopper2", "5", "locked"], json assert_include ["A Team", "10", "active"], json end + + def test_watcher_filter_with_permission_should_show_members_and_groups_globally + # This user has view_issue_watchers permission + @request.session[:user_id] = 1 + get( + :filter, + :params => { + :type => 'IssueQuery', + :name => 'watcher_id' + } + ) + assert_response :success + assert_equal 'application/json', response.media_type + json = ActiveSupport::JSON.decode(response.body) + + assert_equal 8, json.count + # "me" value should not be grouped + assert_include ["<< me >>", "me"], json + assert_include ["Dave Lopper", "3", "active"], json + assert_include ["Dave2 Lopper2", "5", "locked"], json + assert_include ["A Team", "10", "active"], json + end end -- 2.26.2