details:   https://code.tryton.org/tryton/commit/084495b64f58
branch:    default
user:      Cédric Krier <[email protected]>
date:      Wed Sep 10 09:50:17 2025 +0200
description:
        Allow cancellation of done drop shipments

        Same as 0d599a48d351 but for drop shipment.

        Closes #14223
diffstat:

 modules/sale_supply_drop_shipment/CHANGELOG |   1 +
 modules/sale_supply_drop_shipment/stock.py  |  12 ++++--------
 2 files changed, 5 insertions(+), 8 deletions(-)

diffs (37 lines):

diff -r 85fd441939ad -r 084495b64f58 modules/sale_supply_drop_shipment/CHANGELOG
--- a/modules/sale_supply_drop_shipment/CHANGELOG       Tue Sep 02 10:14:54 
2025 +0200
+++ b/modules/sale_supply_drop_shipment/CHANGELOG       Wed Sep 10 09:50:17 
2025 +0200
@@ -1,3 +1,4 @@
+* Allow cancellation of done drop shipments
 
 Version 7.6.0 - 2025-04-28
 --------------------------
diff -r 85fd441939ad -r 084495b64f58 modules/sale_supply_drop_shipment/stock.py
--- a/modules/sale_supply_drop_shipment/stock.py        Tue Sep 02 10:14:54 
2025 +0200
+++ b/modules/sale_supply_drop_shipment/stock.py        Wed Sep 10 09:50:17 
2025 +0200
@@ -165,6 +165,7 @@
                 ('cancelled', 'draft'),
                 ('shipped', 'done'),
                 ('shipped', 'cancelled'),
+                ('done', 'cancelled'),
                 ))
         cls._buttons.update({
                 'cancel': {
@@ -274,14 +275,9 @@
     @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

Reply via email to