diff --git a/app/models/deliverable.rb b/app/models/deliverable.rb index 541dea7..10ed1a8 100644 --- a/app/models/deliverable.rb +++ b/app/models/deliverable.rb @@ -22,6 +22,16 @@ class Deliverable < ActiveRecord::Base delegate :name, :to => :contract, :prefix => true, :allow_nil => true + # Callbacks + + # Register callbacks here, on new records the class isn't set so class-specific + # callbacks don't fire. + def after_save + if type == "RetainerDeliverable" + self.becomes(self.type.constantize).create_budgets_for_periods + end + end + named_scope :by_title, {:order => "#{Deliverable.table_name}.title ASC"} def short_type diff --git a/app/models/retainer_deliverable.rb b/app/models/retainer_deliverable.rb index 19cd368..ee3cc41 100644 --- a/app/models/retainer_deliverable.rb +++ b/app/models/retainer_deliverable.rb @@ -14,8 +14,7 @@ class RetainerDeliverable < HourlyDeliverable # Accessors # Callbacks - after_save :create_budgets_for_periods - + def short_type 'R' end