changeset 365c230d9006 in modules/stock_package:default
details: 
https://hg.tryton.org/modules/stock_package?cmd=changeset;node=365c230d9006
description:
        Remove cancelled move from package

        issue10128
        review332011002
diffstat:

 stock.py |  14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diffs (31 lines):

diff -r 4e29cf4b6945 -r 365c230d9006 stock.py
--- a/stock.py  Sat Feb 27 18:16:29 2021 +0100
+++ b/stock.py  Sun Mar 07 10:02:43 2021 +0100
@@ -177,7 +177,12 @@
 
 class Move(metaclass=PoolMeta):
     __name__ = 'stock.move'
-    package = fields.Many2One('stock.package', 'Package', select=True)
+    package = fields.Many2One(
+        'stock.package', "Package", select=True,
+        states={
+            'readonly': Eval('state') == 'cancelled',
+            },
+        depends=['state'])
 
     @classmethod
     def copy(cls, moves, default=None):
@@ -188,6 +193,13 @@
         default.setdefault('package')
         return super().copy(moves, default=default)
 
+    @classmethod
+    @ModelView.button
+    @Workflow.transition('cancelled')
+    def cancel(cls, moves):
+        cls.write([m for m in moves if m.package], {'package': None})
+        super().cancel(moves)
+
 
 class PackageMixin(object):
     __slots__ = ()

Reply via email to