From 34eaf6f0f21b08cc63d3b9c2e5f44ea995114934 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 10 May 2021 22:25:03 +0100 Subject: [PATCH] DRY shipment updating --- app/models/spree/order_contents.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/spree/order_contents.rb b/app/models/spree/order_contents.rb index 024038ffec..adcc411fdb 100644 --- a/app/models/spree/order_contents.rb +++ b/app/models/spree/order_contents.rb @@ -13,7 +13,7 @@ module Spree def add(variant, quantity = 1, shipment = nil) line_item = order.find_line_item_by_variant(variant) add_to_line_item(line_item, variant, quantity, shipment) - shipment.present? ? shipment.update_amounts : order.ensure_updated_shipments + update_shipment(shipment) update_order end @@ -27,7 +27,7 @@ module Spree end remove_from_line_item(line_item, variant, quantity, shipment) - shipment.present? ? shipment.update_amounts : order.ensure_updated_shipments + update_shipment(shipment) update_order end @@ -44,6 +44,10 @@ module Spree private + def update_shipment(shipment) + shipment.present? ? shipment.update_amounts : order.ensure_updated_shipments + end + def add_to_line_item(line_item, variant, quantity, shipment = nil) if line_item line_item.target_shipment = shipment