]> source.dussan.org Git - redmine.git/commitdiff
Adds Issue#visible_condition to build issue visibility statement.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 15 Mar 2011 16:00:39 +0000 (16:00 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 15 Mar 2011 16:00:39 +0000 (16:00 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5141 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/issue.rb
app/models/query.rb

index 92ab64a8cb46e602d6fa65cdb7c45719256035f1..08d97bcdfcab802fa7407d0ee05087318770a735 100644 (file)
@@ -60,7 +60,7 @@ class Issue < ActiveRecord::Base
   validates_numericality_of :estimated_hours, :allow_nil => true
 
   named_scope :visible, lambda {|*args| { :include => :project,
-                                          :conditions => Project.allowed_to_condition(args.first || User.current, :view_issues) } }
+                                          :conditions => Issue.visible_condition(args.first || User.current) } }
   
   named_scope :open, :conditions => ["#{IssueStatus.table_name}.is_closed = ?", false], :include => :status
 
@@ -86,6 +86,11 @@ class Issue < ActiveRecord::Base
   after_save :reschedule_following_issues, :update_nested_set_attributes, :update_parent_attributes, :create_journal
   after_destroy :update_parent_attributes
   
+  # Returns a SQL conditions string used to find all issues visible by the specified user
+  def self.visible_condition(user, options={})
+    Project.allowed_to_condition(user, :view_issues, options)
+  end
+
   # Returns true if usr or current user is allowed to view the issue
   def visible?(usr=nil)
     (usr || User.current).allowed_to?(:view_issues, self.project)
index 0576268850e1a9cd00a2d3d57442657f6c0366d8..3b1b53cc2dd927ba3be222e5b5ec7f84838da800 100644 (file)
@@ -411,7 +411,7 @@ class Query < ActiveRecord::Base
     elsif project
       project_clauses << "#{Project.table_name}.id = %d" % project.id
     end
-    project_clauses <<  Project.allowed_to_condition(User.current, :view_issues)
+    project_clauses <<  Issue.visible_condition(User.current)
     project_clauses.join(' AND ')
   end