##// END OF EJS Templates
Fixed: 'assigned to me' filter broken....
Jean-Philippe Lang -
r966:e29539df9c2b
parent child
Show More
@@ -54,7 +54,6 class Query < ActiveRecord::Base
54 serialize :column_names
54 serialize :column_names
55
55
56 attr_protected :project, :user
56 attr_protected :project, :user
57 attr_accessor :executed_by
58
57
59 validates_presence_of :name, :on => :save
58 validates_presence_of :name, :on => :save
60 validates_length_of :name, :maximum => 255
59 validates_length_of :name, :maximum => 255
@@ -112,8 +111,7 class Query < ActiveRecord::Base
112 def initialize(attributes = nil)
111 def initialize(attributes = nil)
113 super attributes
112 super attributes
114 self.filters ||= { 'status_id' => {:operator => "o", :values => [""]} }
113 self.filters ||= { 'status_id' => {:operator => "o", :values => [""]} }
115 @executed_by = User.current.logged? ? User.current : nil
114 set_language_if_valid(User.current.language)
116 set_language_if_valid(executed_by.language) if executed_by
117 end
115 end
118
116
119 def validate
117 def validate
@@ -145,12 +143,12 class Query < ActiveRecord::Base
145 "done_ratio" => { :type => :integer, :order => 13 }}
143 "done_ratio" => { :type => :integer, :order => 13 }}
146
144
147 user_values = []
145 user_values = []
148 user_values << ["<< #{l(:label_me)} >>", "me"] if executed_by
146 user_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged?
149 if project
147 if project
150 user_values += project.users.sort.collect{|s| [s.name, s.id.to_s] }
148 user_values += project.users.sort.collect{|s| [s.name, s.id.to_s] }
151 elsif executed_by
149 else
152 # members of the user's projects
150 # members of the user's projects
153 user_values += executed_by.projects.collect(&:users).flatten.uniq.sort.collect{|s| [s.name, s.id.to_s] }
151 user_values += User.current.projects.collect(&:users).flatten.uniq.sort.collect{|s| [s.name, s.id.to_s] }
154 end
152 end
155 @available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => user_values } unless user_values.empty?
153 @available_filters["assigned_to_id"] = { :type => :list_optional, :order => 4, :values => user_values } unless user_values.empty?
156 @available_filters["author_id"] = { :type => :list, :order => 5, :values => user_values } unless user_values.empty?
154 @available_filters["author_id"] = { :type => :list, :order => 5, :values => user_values } unless user_values.empty?
@@ -267,7 +265,7 class Query < ActiveRecord::Base
267 elsif project
265 elsif project
268 clause << "#{Issue.table_name}.project_id=%d" % project.id
266 clause << "#{Issue.table_name}.project_id=%d" % project.id
269 else
267 else
270 clause << Project.visible_by(executed_by)
268 clause << Project.visible_by(User.current)
271 end
269 end
272
270
273 # filters clauses
271 # filters clauses
@@ -292,7 +290,7 class Query < ActiveRecord::Base
292
290
293 # "me" value subsitution
291 # "me" value subsitution
294 if %w(assigned_to_id author_id).include?(field)
292 if %w(assigned_to_id author_id).include?(field)
295 v.push(executed_by ? executed_by.id.to_s : "0") if v.delete("me")
293 v.push(User.current.logged? ? User.current.id.to_s : "0") if v.delete("me")
296 end
294 end
297
295
298 case operator_for field
296 case operator_for field
General Comments 0
You need to be logged in to leave comments. Login now