From 835d91155c41e9e7dd292c92e6996fb4c5521109 Mon Sep 17 00:00:00 2001 From: Holger Just Date: Tue, 31 Aug 2010 15:00:39 +0200 Subject: [PATCH] Refactoring: User lists in global filters are populated without hardcoded table values. --- app/models/query.rb | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) diff --git a/app/models/query.rb b/app/models/query.rb index dd97d68..1974d1d 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -185,17 +185,14 @@ class Query < ActiveRecord::Base user_values = [] user_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged? if project - user_values += User.active.all( - :include => :members, - :conditions => {"#{Member.table_name}.project_id" => project.self_and_descendants.visible} - ).collect{|u| [u.name, u.id.to_s]} + projects = project.self_and_descendants.visible else - project_ids = Project.all(:conditions => Project.visible_by(User.current)).collect(&:id) - 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 + projects = Project.visible 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["author_id"] = { :type => :list, :order => 5, :values => user_values } unless user_values.empty? -- 1.7.2.1