changeset ffeafe1cbe9f in modules/product_kit:default
details:
https://hg.tryton.org/modules/product_kit?cmd=changeset&node=ffeafe1cbe9f
description:
Delete stock moves from components when applying amendment
issue11355
review386301002
diffstat:
__init__.py | 2 ++
purchase.py | 12 ++++++++++++
sale.py | 12 ++++++++++++
3 files changed, 26 insertions(+), 0 deletions(-)
diffs (60 lines):
diff -r 5c00e1545470 -r ffeafe1cbe9f __init__.py
--- a/__init__.py Wed Apr 06 18:24:28 2022 +0200
+++ b/__init__.py Wed Apr 06 18:52:08 2022 +0200
@@ -33,6 +33,7 @@
sale.HandleShipmentException,
module='product_kit', type_='wizard', depends=['sale'])
Pool.register(
+ sale.Amendment,
sale.AmendmentLine,
module='product_kit', type_='model', depends=['sale_amendment'])
Pool.register(
@@ -48,5 +49,6 @@
purchase.HandleShipmentException,
module='product_kit', type_='wizard', depends=['purchase'])
Pool.register(
+ purchase.Amendment,
purchase.AmendmentLine,
module='product_kit', type_='model', depends=['purchase_amendment'])
diff -r 5c00e1545470 -r ffeafe1cbe9f purchase.py
--- a/purchase.py Wed Apr 06 18:24:28 2022 +0200
+++ b/purchase.py Wed Apr 06 18:52:08 2022 +0200
@@ -143,5 +143,17 @@
__name__ = 'purchase.handle.shipment.exception'
+class Amendment(metaclass=PoolMeta):
+ __name__ = 'purchase.amendment'
+
+ @classmethod
+ def _stock_moves(cls, line):
+ yield from super()._stock_moves(line)
+ for component in line.components:
+ for move in component.moves:
+ if move.state == 'draft':
+ yield move
+
+
class AmendmentLine(AmendmentLineMixin, metaclass=PoolMeta):
__name__ = 'purchase.amendment.line'
diff -r 5c00e1545470 -r ffeafe1cbe9f sale.py
--- a/sale.py Wed Apr 06 18:24:28 2022 +0200
+++ b/sale.py Wed Apr 06 18:52:08 2022 +0200
@@ -158,5 +158,17 @@
__name__ = 'sale.handle.shipment.exception'
+class Amendment(metaclass=PoolMeta):
+ __name__ = 'sale.amendment'
+
+ @classmethod
+ def _stock_moves(cls, line):
+ yield from super()._stock_moves(line)
+ for component in line.components:
+ for move in component.moves:
+ if move.state == 'draft':
+ yield move
+
+
class AmendmentLine(AmendmentLineMixin, metaclass=PoolMeta):
__name__ = 'sale.amendment.line'