diff --git a/app/models/spree/shipment.rb b/app/models/spree/shipment.rb index b5f7516f06..e4790a7ad5 100644 --- a/app/models/spree/shipment.rb +++ b/app/models/spree/shipment.rb @@ -331,6 +331,15 @@ module Spree fee_adjustment.finalize! send_shipped_email touch :shipped_at + update_order_shipment_state + end + + def update_order_shipment_state + new_state = order.updater.update_shipment_state + order.update_columns( + shipment_state: new_state, + updated_at: Time.now, + ) end def send_shipped_email diff --git a/engines/order_management/app/services/order_management/order/updater.rb b/engines/order_management/app/services/order_management/order/updater.rb index e1bd346619..649a5e604d 100644 --- a/engines/order_management/app/services/order_management/order/updater.rb +++ b/engines/order_management/app/services/order_management/order/updater.rb @@ -101,6 +101,7 @@ module OrderManagement end order.state_changed('shipment') + order.shipment_state end # Updates the +payment_state+ attribute according to the following logic: