diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 429201e..3172ce1 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -235,7 +235,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 0ba7a8c..1fae6ff 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -924,12 +924,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.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 + 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}" @@ -945,9 +948,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