From 5a316fe0ae472174bf611ecb84c6b40d27032736 Mon Sep 17 00:00:00 2001 From: Anders Thomsen Date: Fri, 7 Aug 2015 16:42:55 +0200 Subject: [PATCH] Add Issue custom fields of User-format to the cross-project issuelist filters --- app/models/issue_query.rb | 2 +- app/models/query.rb | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 41b27b8..40ffec7 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -233,7 +233,7 @@ class IssueQuery < Query :values => subprojects.collect{|s| [s.name, s.id.to_s] } end - add_custom_fields_filters(issue_custom_fields) + add_custom_fields_filters(issue_custom_fields, nil, users) add_associations_custom_fields_filters :project, :author, :assigned_to, :fixed_version diff --git a/app/models/query.rb b/app/models/query.rb index c95731e..56aae17 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -780,12 +780,15 @@ class Query < ActiveRecord::Base end # Adds a filter for the given custom field - def add_custom_field_filter(field, assoc=nil) + def add_custom_field_filter(field, assoc=nil, valid_users=nil) options = field.format.query_filter_options(field, 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 + if options[:values].is_a?(Array) && project.nil? && !valid_users.nil? + options[:values] += valid_users.collect {|u| [u.name, u.id.to_s]} + end end filter_id = "cf_#{field.id}" @@ -801,9 +804,9 @@ class Query < ActiveRecord::Base end # Adds filters for the given custom fields scope - def add_custom_fields_filters(scope, assoc=nil) + def add_custom_fields_filters(scope, assoc=nil, valid_users=nil) scope.visible.where(:is_filter => true).sorted.each do |field| - add_custom_field_filter(field, assoc) + add_custom_field_filter(field, assoc, valid_users) end end -- 1.9.2.msysgit.0