mirror of
https://github.com/meineerde/redmine.git
synced 2025-10-17 17:01:01 +00:00
Refactoring: User lists in global filters are populated without hardcoded table values.
This commit is contained in:
parent
369717e625
commit
835d91155c
@ -185,17 +185,14 @@ class Query < ActiveRecord::Base
|
|||||||
user_values = []
|
user_values = []
|
||||||
user_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged?
|
user_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged?
|
||||||
if project
|
if project
|
||||||
user_values += User.active.all(
|
projects = project.self_and_descendants.visible
|
||||||
:include => :members,
|
|
||||||
:conditions => {"#{Member.table_name}.project_id" => project.self_and_descendants.visible}
|
|
||||||
).collect{|u| [u.name, u.id.to_s]}
|
|
||||||
else
|
else
|
||||||
project_ids = Project.all(:conditions => Project.visible_by(User.current)).collect(&:id)
|
projects = Project.visible
|
||||||
if project_ids.any?
|
|
||||||
# members of the user's projects
|
|
||||||
user_values += User.active.find(:all, :conditions => ["#{User.table_name}.id IN (SELECT DISTINCT user_id FROM members WHERE project_id IN (?))", project_ids]).sort.collect{|s| [s.name, s.id.to_s] }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
user_values += User.active.all(
|
||||||
|
:include => :members,
|
||||||
|
:conditions => {"#{Member.table_name}.project_id" => projects}
|
||||||
|
).collect{|u| [u.name, u.id.to_s]}
|
||||||
@available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => user_values } unless user_values.empty?
|
@available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => user_values } unless user_values.empty?
|
||||||
@available_filters["author_id"] = { :type => :list, :order => 5, :values => user_values } unless user_values.empty?
|
@available_filters["author_id"] = { :type => :list, :order => 5, :values => user_values } unless user_values.empty?
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user