Modify pay button to be readonly if sale is totally paid | #161602 (#3)

Authored-by: Jared Esparza <jared.esparza@nan-tic.com>
This commit is contained in:
nan-tic-dev 2023-08-08 16:31:14 +02:00 committed by Jared Esparza
parent cfa00873fa
commit b448fe8a63
1 changed files with 9 additions and 6 deletions

15
sale.py
View File

@ -7,7 +7,7 @@ from sql.conditionals import Coalesce
from trytond.model import ModelView, fields
from trytond.pool import PoolMeta, Pool
from trytond.pyson import Bool, Eval, Not
from trytond.pyson import Bool, Eval, Not, Or, Equal
from trytond.transaction import Transaction
from trytond.wizard import Wizard, StateView, StateTransition, Button
from trytond.i18n import gettext
@ -37,11 +37,14 @@ class Sale(metaclass=PoolMeta):
def __setup__(cls):
super(Sale, cls).__setup__()
cls._buttons.update({
'wizard_sale_payment': {
'invisible': Eval('state') == 'done',
'readonly': Not(Bool(Eval('lines'))),
},
})
'wizard_sale_payment': {
'invisible': Eval('state') == 'done',
'readonly': Or(
Not(Bool(Eval('lines'))),
Equal(Eval('residual_amount', 0), 0)
),
},
})
@staticmethod
def default_sale_device():