From: Jean-Philippe Lang Date: Thu, 12 Jan 2017 20:19:45 +0000 (+0000) Subject: Don't preload custom field filter values (#24787). X-Git-Tag: 3.4.0~436 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=309c6cec861baad8d363a9e23864707cdeaa317f;p=redmine.git Don't preload custom field filter values (#24787). git-svn-id: http://svn.redmine.org/redmine/trunk@16173 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- 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