changeset b6a221e5d224 in modules/sale_amendment:default
details: 
https://hg.tryton.org/modules/sale_amendment?cmd=changeset&node=b6a221e5d224
description:
        Delete stock moves from components when applying amendment

        issue11355
        review386301002
diffstat:

 sale.py |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r ca16222876a9 -r b6a221e5d224 sale.py
--- a/sale.py   Wed Mar 09 00:57:17 2022 +0100
+++ b/sale.py   Wed Apr 06 18:52:08 2022 +0200
@@ -156,9 +156,7 @@
                 for invoice_line in line.invoice_lines:
                     if invoice_line.invoice_state == 'draft':
                         invoice_lines.add(invoice_line)
-                for move in line.moves:
-                    if move.state == 'draft':
-                        moves.add(move)
+                moves.update(cls._stock_moves(line))
 
         shipments_waiting = [s for s in shipments if s.state == 'waiting']
         Shipment.draft(shipments)  # Clear inventory moves
@@ -172,6 +170,12 @@
         ShipmentReturn.delete(
             [s for s in shipment_returns if not s.incoming_moves])
 
+    @classmethod
+    def _stock_moves(cls, line):
+        for move in line.moves:
+            if move.state == 'draft':
+                yield move
+
 
 class AmendmentLine(ModelSQL, ModelView):
     "Sale Amendment Line"

Reply via email to