diff --git a/app/models/spree/order_decorator.rb b/app/models/spree/order_decorator.rb index 6459690d..8c119b50 100644 --- a/app/models/spree/order_decorator.rb +++ b/app/models/spree/order_decorator.rb @@ -6,15 +6,19 @@ before_validation :clone_shipping_address, :if => "Spree::AddressBook::Config[:disable_bill_address]" def clone_shipping_address - if self.ship_address - self.bill_address = self.ship_address + if ship_address && bill_address.nil? + self.bill_address = ship_address.clone + else + bill_address.attributes = ship_address.attributes.except('id', 'updated_at', 'created_at') end true end def clone_billing_address - if self.bill_address - self.ship_address = self.bill_address + if bill_address && ship_address.nil? + self.ship_address = bill_address.clone + else + ship_address.attributes = bill_address.attributes.except('id', 'updated_at', 'created_at') end true end