]> source.dussan.org Git - redmine.git/commitdiff
Added :dependent => :delete_all on IssueStatus Workflow association.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 31 May 2007 17:19:01 +0000 (17:19 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 31 May 2007 17:19:01 +0000 (17:19 +0000)
Also added compact in find_new_statuses_allowed_to to remove nil statuses.

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

app/models/issue_status.rb

index cea77132e28591e094257ea32366ad48acd5be3f..beb06f14044c3206ac76cfc3b9b6fe5a67da60c2 100644 (file)
@@ -17,7 +17,7 @@
 
 class IssueStatus < ActiveRecord::Base
   before_destroy :check_integrity  
-  has_many :workflows, :foreign_key => "old_status_id"
+  has_many :workflows, :foreign_key => "old_status_id", :dependent => :delete_all
   acts_as_list
 
   validates_presence_of :name
@@ -47,7 +47,7 @@ class IssueStatus < ActiveRecord::Base
   def find_new_statuses_allowed_to(role, tracker)  
     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
+                                   :conditions => ["role_id=? and tracker_id=?", role.id, tracker.id]).collect{ |w| w.new_status }.compact  if role && tracker
     new_statuses ? new_statuses.sort{|x, y| x.position <=> y.position } : []
   end