From f5c08baabbedfed1bb29ac6927e95fb66c9f4be9 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Tue, 11 May 2021 18:15:08 +0100 Subject: [PATCH] Use OrderContents in LineItemsController and move enterprise fee updating logic --- app/controllers/api/v0/shipments_controller.rb | 1 - app/controllers/line_items_controller.rb | 5 +---- app/models/spree/order_contents.rb | 1 + 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/v0/shipments_controller.rb b/app/controllers/api/v0/shipments_controller.rb index c4ed320e17..cd0f31dcd3 100644 --- a/app/controllers/api/v0/shipments_controller.rb +++ b/app/controllers/api/v0/shipments_controller.rb @@ -81,7 +81,6 @@ module Api quantity = params[:quantity].to_i @order.contents.remove(variant, quantity, @shipment) - @order.recreate_all_fees! @shipment.reload if @shipment.persisted? render json: @shipment, serializer: Api::ShipmentSerializer, status: :ok diff --git a/app/controllers/line_items_controller.rb b/app/controllers/line_items_controller.rb index 4459249ba9..123d03510f 100644 --- a/app/controllers/line_items_controller.rb +++ b/app/controllers/line_items_controller.rb @@ -39,12 +39,9 @@ class LineItemsController < BaseController def destroy_with_lock(item) order = item.order order.with_lock do - item.destroy + order.contents.remove(item.variant) order.update_shipping_fees! order.update_payment_fees! - order.update_order_fees! - order.update_order! - order.create_tax_charge! end end end diff --git a/app/models/spree/order_contents.rb b/app/models/spree/order_contents.rb index 832c1bafd3..15a9030706 100644 --- a/app/models/spree/order_contents.rb +++ b/app/models/spree/order_contents.rb @@ -22,6 +22,7 @@ module Spree def remove(variant, quantity = nil, shipment = nil) line_item = remove_from_line_item(variant, quantity, shipment) update_shipment(shipment) + order.update_order_fees! if order.completed? update_order line_item end