Index: lib/redmine/field_format.rb =================================================================== --- lib/redmine/field_format.rb (revision 14266) +++ lib/redmine/field_format.rb (working copy) @@ -122,7 +122,7 @@ possible_values_options(custom_value.custom_field, custom_value.customized) end - def possible_values_options(custom_field, object=nil) + def possible_values_options(custom_field, object=nil, options={}) [] end @@ -464,7 +464,7 @@ end def query_filter_options(custom_field, query) - {:type => :list_optional, :values => possible_values_options(custom_field, query.project)} + {:type => :list_optional, :values => possible_values_options(custom_field, query.project,{:query_filter => true})} end protected @@ -528,7 +528,7 @@ options end - def possible_values_options(custom_field, object=nil) + def possible_values_options(custom_field, object=nil, options={}) custom_field.possible_values end @@ -567,7 +567,7 @@ value == '1' ? true : false end - def possible_values_options(custom_field, object=nil) + def possible_values_options(custom_field, object=nil, options={}) [[::I18n.t(:general_text_Yes), '1'], [::I18n.t(:general_text_No), '0']] end @@ -658,10 +658,10 @@ self.form_partial = 'custom_fields/formats/user' field_attributes :user_role - def possible_values_options(custom_field, object=nil) + def possible_values_options(custom_field, object=nil, options={}) if object.is_a?(Array) projects = object.map {|o| o.respond_to?(:project) ? o.project : nil}.compact.uniq - projects.map {|project| possible_values_options(custom_field, project)}.reduce(:&) || [] + projects.map {|project| possible_values_options(custom_field, project, options)}.reduce(:&) || [] elsif object.respond_to?(:project) && object.project scope = object.project.users if custom_field.user_role.is_a?(Array) @@ -689,13 +689,13 @@ self.form_partial = 'custom_fields/formats/version' field_attributes :version_status - def possible_values_options(custom_field, object=nil) + def possible_values_options(custom_field, object=nil, options={}) if object.is_a?(Array) projects = object.map {|o| o.respond_to?(:project) ? o.project : nil}.compact.uniq - projects.map {|project| possible_values_options(custom_field, project)}.reduce(:&) || [] + projects.map {|project| possible_values_options(custom_field, project, options)}.reduce(:&) || [] elsif object.respond_to?(:project) && object.project scope = object.project.shared_versions - if custom_field.version_status.is_a?(Array) + if !(options[:query_filter] || false) && custom_field.version_status.is_a?(Array) statuses = custom_field.version_status.map(&:to_s).reject(&:blank?) if statuses.any? scope = scope.where(:status => statuses.map(&:to_s))