summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2017-01-12 20:19:45 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2017-01-12 20:19:45 +0000
commit309c6cec861baad8d363a9e23864707cdeaa317f (patch)
tree13d8452d1dc114f6d10914d469b9ba0bc31e8e9e
parent2734eaffd823986c0da99ee4162000054571f422 (diff)
downloadredmine-309c6cec861baad8d363a9e23864707cdeaa317f.tar.gz
redmine-309c6cec861baad8d363a9e23864707cdeaa317f.zip
Don't preload custom field filter values (#24787).
git-svn-id: http://svn.redmine.org/redmine/trunk@16173 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/query.rb5
-rw-r--r--lib/redmine/field_format.rb6
-rw-r--r--test/unit/lib/redmine/field_format/version_field_format_test.rb2
3 files changed, 6 insertions, 7 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index 1e2263d77..fea958631 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -1111,11 +1111,6 @@ class Query < ActiveRecord::Base
# Adds a filter for the given custom field
def add_custom_field_filter(field, assoc=nil)
options = field.query_filter_options(self)
- if field.format.target_class && field.format.target_class <= User
- if options[:values].is_a?(Array) && User.current.logged?
- options[:values].unshift ["<< #{l(:label_me)} >>", "me"]
- end
- end
filter_id = "cf_#{field.id}"
filter_name = field.name
diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb
index 4e31b1330..dd467db8c 100644
--- a/lib/redmine/field_format.rb
+++ b/lib/redmine/field_format.rb
@@ -552,7 +552,7 @@ module Redmine
end
def query_filter_options(custom_field, query)
- {:type => :list_optional, :values => query_filter_values(custom_field, query)}
+ {:type => :list_optional, :values => lambda { query_filter_values(custom_field, query) }}
end
protected
@@ -810,6 +810,10 @@ module Redmine
custom_field.user_role.map!(&:to_s).reject!(&:blank?)
end
end
+
+ def query_filter_values(*args)
+ [["<< #{l(:label_me)} >>", "me"]] + super
+ end
end
class VersionFormat < RecordList
diff --git a/test/unit/lib/redmine/field_format/version_field_format_test.rb b/test/unit/lib/redmine/field_format/version_field_format_test.rb
index 0b3006c65..e6e9d1d00 100644
--- a/test/unit/lib/redmine/field_format/version_field_format_test.rb
+++ b/test/unit/lib/redmine/field_format/version_field_format_test.rb
@@ -83,6 +83,6 @@ class Redmine::VersionFieldFormatTest < ActionView::TestCase
query = Query.new(:project => project)
assert_not_include version.name, field.possible_values_options(project).map(&:first)
- assert_include version.name, field.query_filter_options(query)[:values].map(&:first)
+ assert_include version.name, field.query_filter_options(query)[:values].call.map(&:first)
end
end