From d9307d006e39ecb3e9acb7a32be292f356eab3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 28 Oct 2023 10:52:41 +0200 Subject: [PATCH] Hide payment buttons for line reconciled and of payment kind It is not allowed to make a draft payment for a line that is reconciled. Closes #12681 --- modules/account_payment/account.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/account_payment/account.py b/modules/account_payment/account.py index 4437a6af8d..3bf69c4057 100644 --- a/modules/account_payment/account.py +++ b/modules/account_payment/account.py @@ -61,16 +61,23 @@ class MoveLine(metaclass=PoolMeta): super(MoveLine, cls).__setup__() cls._buttons.update({ 'pay': { - 'invisible': ~Eval('payment_kind').in_( - list(dict(KINDS).keys())), + 'invisible': ( + ~Eval('payment_kind').in_(list(dict(KINDS).keys())) + | Eval('reconciliation')), 'depends': ['payment_kind'], }, 'payment_block': { - 'invisible': Eval('payment_blocked', False), + 'invisible': ( + ~Eval('payment_kind').in_(list(dict(KINDS).keys())) + | Eval('reconciliation') + | Eval('payment_blocked', False)), 'depends': ['payment_blocked'], }, 'payment_unblock': { - 'invisible': ~Eval('payment_blocked', False), + 'invisible': ( + ~Eval('payment_kind').in_(list(dict(KINDS).keys())) + | Eval('reconciliation') + | ~Eval('payment_blocked', False)), 'depends': ['payment_blocked'], }, })