]> source.dussan.org Git - redmine.git/commitdiff
The ability to change the issue status to the same status is no longer forced.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 22 Apr 2007 22:20:09 +0000 (22:20 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 22 Apr 2007 22:20:09 +0000 (22:20 +0000)
This behaviour can be defined in workflow setup.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@470 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/issue_status.rb

index de8a1391e34d90a9c5084e18bab60711541deb9b..61cb3f282b2cd33f009139a9232882421800a130 100644 (file)
@@ -38,16 +38,14 @@ class IssueStatus < ActiveRecord::Base
   # Returns an array of all statuses the given role can switch to
   # Uses association cache when called more than one time
   def new_statuses_allowed_to(role, tracker)
-    new_statuses = [self]
-    new_statuses += workflows.select {|w| w.role_id == role.id && w.tracker_id == tracker.id}.collect{|w| w.new_status} if role && tracker
+    new_statuses = workflows.select {|w| w.role_id == role.id && w.tracker_id == tracker.id}.collect{|w| w.new_status} if role && tracker
     new_statuses.sort{|x, y| x.position <=> y.position }
   end
   
   # Same thing as above but uses a database query
   # More efficient than the previous method if called just once
   def find_new_statuses_allowed_to(role, tracker)  
-    new_statuses = [self]
-    new_statuses += workflows.find(:all, 
+    new_statuses = workflows.find(:all, 
                                    :include => :new_status,
                                    :conditions => ["role_id=? and tracker_id=?", role.id, tracker.id]).collect{ |w| w.new_status }  if role && tracker
     new_statuses.sort{|x, y| x.position <=> y.position }