#300: Referential integrity maintained when deleting todos which are part in a dependency relationship

This commit is contained in:
Henrik Bohre 2009-06-09 13:45:39 +02:00 committed by Eric Allen
parent 06e4bd4412
commit c8b442cc41
2 changed files with 22 additions and 7 deletions

View file

@ -7,12 +7,12 @@ class Todo < ActiveRecord::Base
has_many :predecessor_dependencies, :foreign_key => 'predecessor_id', :class_name => 'Dependency', :dependent => :destroy
has_many :successor_dependencies, :foreign_key => 'successor_id', :class_name => 'Dependency', :dependent => :destroy
has_many :predecessors, :through => :successor_dependencies, :dependent => :destroy
has_many :successors, :through => :predecessor_dependencies, :dependent => :destroy
has_many :predecessors, :through => :successor_dependencies
has_many :successors, :through => :predecessor_dependencies
has_many :uncompleted_predecessors, :through => :successor_dependencies,
:source => :predecessor, :conditions => ['NOT (state = ?)', 'completed'], :dependent => :destroy
:source => :predecessor, :conditions => ['NOT (state = ?)', 'completed']
has_many :pending_successors, :through => :predecessor_dependencies,
:source => :successor, :conditions => ['state = ?', 'pending'], :dependent => :destroy
:source => :successor, :conditions => ['state = ?', 'pending']
named_scope :active, :conditions => { :state => 'active' }