changeset 651e21ff4ed2 in modules/account_payment_braintree:default
details:
https://hg.tryton.org/modules/account_payment_braintree?cmd=changeset&node=651e21ff4ed2
description:
Send only the required fields when fetching a readonly view definition
issue11134
review380081002
diffstat:
account.py | 33 +++++++++------------------------
common.py | 9 +++------
2 files changed, 12 insertions(+), 30 deletions(-)
diffs (145 lines):
diff -r 6c966c0c9955 -r 651e21ff4ed2 account.py
--- a/account.py Wed Apr 06 23:37:41 2022 +0200
+++ b/account.py Fri Apr 08 19:07:12 2022 +0200
@@ -57,8 +57,7 @@
states={
'required': Eval('process_method') == 'braintree',
'invisible': Eval('process_method') != 'braintree',
- },
- depends=['currency', 'process_method'])
+ })
@classmethod
def __setup__(cls):
@@ -160,15 +159,13 @@
states={
'invisible': ((Eval('process_method') != 'braintree')
| ~Eval('braintree_transaction_id')),
- },
- depends=['process_method'])
+ })
braintree_settle_payment = fields.Boolean(
"Braintree Settle Payment",
states={
'invisible': Eval('process_method') != 'braintree',
'readonly': Eval('state') != 'draft',
- },
- depends=['process_method', 'state'])
+ })
braintree_payment_settled = fields.Boolean(
"Braintree Payment Settled", readonly=True)
braintree_settlement_needed = fields.Function(
@@ -180,8 +177,7 @@
states={
'invisible': ((Eval('process_method') != 'braintree')
| ~Eval('braintree_transaction_id')),
- },
- depends=['process_method', 'braintree_transaction_id'])
+ })
braintree_dispute_reason = fields.Char(
"Braintree Dispute Reason", readonly=True,
@@ -204,26 +200,20 @@
def __setup__(cls):
super().__setup__()
cls.amount.states['readonly'] &= ~Eval('braintree_settlement_needed')
- cls.amount.depends.append('braintree_settlement_needed')
cls.braintree_customer.states['readonly'] = (
~Eval('state').in_(['draft', 'approved'])
| Eval('braintree_nonce'))
- cls.braintree_customer.depends.extend(['state', 'braintree_nonce'])
cls.braintree_customer_method.states['invisible'] |= (
Eval('braintree_nonce'))
cls.braintree_customer_method.states['readonly'] = (
~Eval('state').in_(['draft', 'approved']))
- cls.braintree_customer_method.depends.extend(
- ['braintree_nonce', 'state'])
cls.braintree_customer_method_selection.states['invisible'] |= (
Eval('braintree_nonce'))
cls.braintree_customer_method_selection.states['readonly'] = (
~Eval('state').in_(['draft', 'approved']))
- cls.braintree_customer_method_selection.depends.extend(
- ['braintree_nonce', 'state'])
cls._buttons.update({
'braintree_checkout': {
@@ -533,14 +523,12 @@
],
states={
'readonly': Eval('state') != 'draft',
- },
- depends=['state'])
+ })
amount = Monetary(
"Amount", currency='currency', digits='currency', required=True,
states={
'readonly': Eval('state') != 'draft',
- },
- depends=['state'])
+ })
approved_by = employee_field(
"Approved by",
states=['approved', 'processing', 'succeeded', 'failed'])
@@ -768,8 +756,7 @@
"Automatic Settlement",
states={
'invisible': Eval('environment') != 'sandbox',
- },
- depends=['environment'])
+ })
@classmethod
def __setup__(cls):
@@ -891,15 +878,13 @@
states={
'readonly': (
Eval('braintree_customer_id') | Eval('braintree_nonce')),
- },
- depends=['braintree_customer_id', 'braintree_nonce'])
+ })
braintree_account = fields.Many2One(
'account.payment.braintree.account', "Account", required=True,
states={
'readonly': (
Eval('braintree_customer_id') | Eval('braintree_nonce')),
- },
- depends=['braintree_customer_id', 'braintree_nonce'])
+ })
braintree_customer_id = fields.Char(
"Braintree Customer ID",
states={
diff -r 6c966c0c9955 -r 651e21ff4ed2 common.py
--- a/common.py Wed Apr 06 23:37:41 2022 +0200
+++ b/common.py Fri Apr 08 19:07:12 2022 +0200
@@ -23,16 +23,14 @@
~Eval('party') | (Eval('party', -1) < 0)
| ~Eval('braintree_account')
| (Eval('braintree_account', -1) < 0)),
- },
- depends=['party', 'process_method', 'braintree_account'])
+ })
braintree_customer_method = fields.Char(
"Braintree Customer Method",
states={
'invisible': (
(Eval('process_method') != 'braintree')
| ~Eval('braintree_customer')),
- },
- depends=['process_method', 'braintree_customer'])
+ })
# Use Function field with selection
# to avoid querying Braintree on validation
braintree_customer_method_selection = fields.Function(fields.Selection(
@@ -41,8 +39,7 @@
'invisible': (
(Eval('process_method') != 'braintree')
| ~Eval('braintree_customer')),
- },
- depends=['process_method', 'braintree_customer']),
+ }),
'get_braintree_customer_method',
setter='set_braintree_customer_method')