1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-01 03:57:15 +00:00

Duplicate entries in issue filter values (#35201).

Patch by Jens Krämer.


git-svn-id: http://svn.redmine.org/redmine/trunk@20990 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2021-05-07 04:45:08 +00:00
parent 6a49e000c7
commit 49e323ae7a
2 changed files with 14 additions and 1 deletions

View File

@ -531,7 +531,7 @@ class Query < ActiveRecord::Base
if has_filter?(field) || !filter.remote
options[:values] = filter.values
if options[:values] && values_for(field)
missing = Array(values_for(field)).select(&:present?) - options[:values].map(&:last)
missing = Array(values_for(field)).select(&:present?) - options[:values].map{|v| v[1]}
if missing.any? && respond_to?(method = "find_#{field}_filter_values")
options[:values] += send(method, missing)
end

View File

@ -1560,6 +1560,19 @@ class QueryTest < ActiveSupport::TestCase
end
end
def test_available_filters_as_json_should_not_include_duplicate_assigned_to_id_values
set_language_if_valid 'en'
user = User.find_by_login 'dlopper'
with_current_user User.find(1) do
q = IssueQuery.new
q.filters = {"assigned_to_id" => {:operator => '=', :values => user.id.to_s}}
filters = q.available_filters_as_json
assert_not_include [user.name, user.id.to_s], filters['assigned_to_id']['values']
assert_include [user.name, user.id.to_s, 'active'], filters['assigned_to_id']['values']
end
end
def test_available_filters_as_json_should_include_missing_author_id_values
user = User.generate!
with_current_user User.find(1) do