app/models/piggybak/address.rb in piggybak-0.4.12 vs app/models/piggybak/address.rb in piggybak-0.4.13

- old
+ new

@@ -1,19 +1,22 @@ module Piggybak class Address < ActiveRecord::Base belongs_to :state belongs_to :country + has_one :order_shipping, :foreign_key => "shipping_address_id", :class_name => "Piggybak::Order" + has_one :order_billing, :foreign_key => "billing_address_id", :class_name => "Piggybak::Order" validates_presence_of :firstname validates_presence_of :lastname validates_presence_of :address1 validates_presence_of :city validates_presence_of :state_id validates_presence_of :country_id validates_presence_of :zip after_initialize :set_default_country + after_save :document_address_changes def set_default_country self.country ||= Country.find_by_abbr(Piggybak.config.default_country) end @@ -29,8 +32,18 @@ end alias :display :admin_label def state_display self.state ? self.state.name : self.state_id + end + + def document_address_changes + # TODO: Fix this. It isn't working. + if self.order_billing.present? && self.changed? + self.order_billing.recorded_changes << self.formatted_changes + end + if self.order_shipping.present? && self.changed? + self.order_shipping.recorded_changes << self.formatted_changes + end end end end