Project

General

Profile

Feature #34700 ยป 0001-Allow-to-use-watch_by-filter-in-the-global-issues-li.patch

Holger Just, 2021-02-09 19:09

View differences:

app/models/query.rb
615 615

  
616 616
  def watcher_values
617 617
    watcher_values = [["<< #{l(:label_me)} >>", "me"]]
618
    if User.current.allowed_to?(:view_issue_watchers, self.project)
618
    if User.current.allowed_to?(:view_issue_watchers, self.project, global: true)
619 619
      watcher_values +=
620 620
        principals.sort_by(&:status).
621 621
          collect{|s| [s.name, s.id.to_s, l("status_#{User::LABEL_BY_STATUS[s.status]}")]}
test/functional/queries_controller_test.rb
895 895
    assert_include ["Dave2 Lopper2", "5", "locked"], json
896 896
    assert_include ["A Team", "10", "active"], json
897 897
  end
898

  
899
  def test_watcher_filter_with_permission_should_show_members_and_groups_globally
900
    # This user has view_issue_watchers permission
901
    @request.session[:user_id] = 1
902
    get(
903
      :filter,
904
      :params => {
905
        :type => 'IssueQuery',
906
        :name => 'watcher_id'
907
      }
908
    )
909
    assert_response :success
910
    assert_equal 'application/json', response.media_type
911
    json = ActiveSupport::JSON.decode(response.body)
912

  
913
    assert_equal 8, json.count
914
    # "me" value should not be grouped
915
    assert_include ["<< me >>", "me"], json
916
    assert_include ["Dave Lopper", "3", "active"], json
917
    assert_include ["Dave2 Lopper2", "5", "locked"], json
918
    assert_include ["A Team", "10", "active"], json
919
  end
898 920
end
    (1-1/1)