Skip to content

Commit 49e323a

Browse files
committed
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
1 parent 6a49e00 commit 49e323a

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

app/models/query.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ def available_filters_as_json
531531
if has_filter?(field) || !filter.remote
532532
options[:values] = filter.values
533533
if options[:values] && values_for(field)
534-
missing = Array(values_for(field)).select(&:present?) - options[:values].map(&:last)
534+
missing = Array(values_for(field)).select(&:present?) - options[:values].map{|v| v[1]}
535535
if missing.any? && respond_to?(method = "find_#{field}_filter_values")
536536
options[:values] += send(method, missing)
537537
end

test/unit/query_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,6 +1560,19 @@ def test_available_filters_as_json_should_include_missing_assigned_to_id_values
15601560
end
15611561
end
15621562

1563+
def test_available_filters_as_json_should_not_include_duplicate_assigned_to_id_values
1564+
set_language_if_valid 'en'
1565+
user = User.find_by_login 'dlopper'
1566+
with_current_user User.find(1) do
1567+
q = IssueQuery.new
1568+
q.filters = {"assigned_to_id" => {:operator => '=', :values => user.id.to_s}}
1569+
1570+
filters = q.available_filters_as_json
1571+
assert_not_include [user.name, user.id.to_s], filters['assigned_to_id']['values']
1572+
assert_include [user.name, user.id.to_s, 'active'], filters['assigned_to_id']['values']
1573+
end
1574+
end
1575+
15631576
def test_available_filters_as_json_should_include_missing_author_id_values
15641577
user = User.generate!
15651578
with_current_user User.find(1) do

0 commit comments

Comments
 (0)