summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2021-05-07 04:50:06 +0000
committerGo MAEDA <maeda@farend.jp>2021-05-07 04:50:06 +0000
commitba4eda3ebe49cddaea1895d9d3684cef5b705c18 (patch)
treea162bb2ccaa0b40cd8bd242742aea7aa7e026af0
parent9d2cf161a863046b61256d058ee80b28d9ab6c70 (diff)
downloadredmine-ba4eda3ebe49cddaea1895d9d3684cef5b705c18.tar.gz
redmine-ba4eda3ebe49cddaea1895d9d3684cef5b705c18.zip
Merged r20990 from trunk to 4.1-stable (#35201).
git-svn-id: http://svn.redmine.org/redmine/branches/4.1-stable@20992 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/query.rb2
-rw-r--r--test/unit/query_test.rb13
2 files changed, 14 insertions, 1 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index 152b11cf1..9d5a5c78d 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -501,7 +501,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
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index d080ad846..92fb1f179 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -1451,6 +1451,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