From fc28f8351fc386c854e8cce4adc77243b06d0c62 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Mon, 30 Aug 2010 09:18:37 -0700 Subject: [PATCH] [#4420] Fixed the after_save callback for Retainers. --- app/models/deliverable.rb | 10 ++++++++++ app/models/retainer_deliverable.rb | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) 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