diff --git a/modules/sale_supply_drop_shipment/CHANGELOG b/modules/sale_supply_drop_shipment/CHANGELOG index 5e3c5930c0..cfd4ef0c07 100644 --- a/modules/sale_supply_drop_shipment/CHANGELOG +++ b/modules/sale_supply_drop_shipment/CHANGELOG @@ -1,3 +1,4 @@ +* Allow cancellation of done drop shipments Version 7.6.0 - 2025-04-28 -------------------------- diff --git a/modules/sale_supply_drop_shipment/stock.py b/modules/sale_supply_drop_shipment/stock.py index 3a605523e8..c171e10b27 100644 --- a/modules/sale_supply_drop_shipment/stock.py +++ b/modules/sale_supply_drop_shipment/stock.py @@ -165,6 +165,7 @@ class ShipmentDrop( ('cancelled', 'draft'), ('shipped', 'done'), ('shipped', 'cancelled'), + ('done', 'cancelled'), )) cls._buttons.update({ 'cancel': { @@ -274,14 +275,9 @@ class ShipmentDrop( @process_purchase('supplier_moves') def cancel(cls, shipments): Move = Pool().get('stock.move') - Move.cancel([m for s in shipments for m in s.supplier_moves]) - Move.cancel([m for s in shipments for m in s.customer_moves - if s.state == 'shipped']) - Move.write([m for s in shipments for m in s.customer_moves - if s.state != 'shipped'], { - 'shipment': None, - 'origin_drop': None, - }) + Move.cancel([ + m for s in shipments + for m in s.supplier_moves + s.customer_moves]) @classmethod @ModelView.button