From 5ca8b18705b7156772fecdd7d29a57d172c5732e Mon Sep 17 00:00:00 2001 From: Sergio Morillo Date: Tue, 14 Nov 2023 09:43:50 +0100 Subject: [PATCH] Extend readonly condition on buttons of state changes This commit refs #28612 --- stock.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/stock.py b/stock.py index 7923d94..3d432f6 100644 --- a/stock.py +++ b/stock.py @@ -3,7 +3,7 @@ from functools import wraps from trytond.pool import PoolMeta, Pool from trytond.model import fields, Workflow -from trytond.pyson import Bool +from trytond.pyson import Bool, Eval, Or from trytond.exceptions import UserError from trytond.i18n import gettext from trytond.transaction import Transaction @@ -53,6 +53,16 @@ class Move(metaclass=PoolMeta): 'readonly': Bool(True) }) + @classmethod + def __setup__(cls): + super().__setup__() + for button in ['draft', 'cancel', 'assign', 'do']: + if cls._buttons[button].get('readonly'): + cls._buttons[button]['readonly'] |= Bool(Eval('unit_load')) + else: + cls._buttons[button]['readonly'] = Bool(Eval('unit_load')) + cls._buttons[button]['depends'].append('unit_load') + @classmethod def validate(cls, records): super(Move, cls).validate(records)