Remove cancelled move from package
issue10128 review332011002
This commit is contained in:
1 parent
8ac5e6b6e8
commit
7c323c340c
1 file changed
+13
-1
@@ -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__ = ()
|
||||
|
||||
Reference in new issue
Block a user