Remove cancelled move from package

issue10128
review332011002
This commit is contained in:
Cédric Krier committed 2021-03-07 10:02:43 +01:00
1 parent 8ac5e6b6e8
commit 7c323c340c
1 file changed
+13 -1
+13 -1
View File
@@ -177,7 +177,12 @@ class Type(ModelSQL, ModelView):
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 @@ class Move(metaclass=PoolMeta):
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__ = ()