details:   https://code.tryton.org/tryton/commit/4c90378c6f7b
branch:    default
user:      Cédric Krier <[email protected]>
date:      Thu Oct 23 18:24:26 2025 +0200
description:
        Hide all payment fields and buttons when using a different process 
method

        Closes #14310
diffstat:

 modules/account_payment_braintree/account.py |  19 ++++++++---
 modules/account_payment_stripe/payment.py    |  46 +++++++++++++++++++--------
 2 files changed, 46 insertions(+), 19 deletions(-)

diffs (122 lines):

diff -r c6afe456afe0 -r 4c90378c6f7b 
modules/account_payment_braintree/account.py
--- a/modules/account_payment_braintree/account.py      Wed Oct 22 18:57:34 
2025 +0200
+++ b/modules/account_payment_braintree/account.py      Thu Oct 23 18:24:26 
2025 +0200
@@ -160,9 +160,16 @@
             'readonly': Eval('state') != 'draft',
             })
     braintree_payment_settled = fields.Boolean(
-        "Braintree Payment Settled", readonly=True)
+        "Braintree Payment Settled", readonly=True,
+        states={
+            'invisible': Eval('process_method') != 'braintree',
+            })
     braintree_settlement_needed = fields.Function(
-        fields.Boolean("Braintree Settlement Needed"),
+        fields.Boolean(
+            "Braintree Settlement Needed",
+            states={
+                'invisible': Eval('process_method') != 'braintree',
+                }),
         'get_braintree_settlement_needed')
 
     braintree_refunds = fields.One2Many(
@@ -225,12 +232,14 @@
                         ],
                     },
                 'braintree_do_settle_payment': {
-                    'invisible': ((Eval('state', 'draft') != 'processing')
-                        | ~Eval('braintree_settlement_needed')),
+                    'invisible': ((Eval('process_method') != 'braintree')
+                        | ((Eval('state', 'draft') != 'processing')
+                            | ~Eval('braintree_settlement_needed'))),
                     'depends': ['state', 'braintree_settlement_needed'],
                     },
                 'braintree_do_pull': {
-                    'invisible': ~Eval('braintree_transaction_id'),
+                    'invisible': ((Eval('process_method') != 'braintree')
+                        | ~Eval('braintree_transaction_id')),
                     'depends': ['braintree_transaction_id'],
                     },
                 })
diff -r c6afe456afe0 -r 4c90378c6f7b modules/account_payment_stripe/payment.py
--- a/modules/account_payment_stripe/payment.py Wed Oct 22 18:57:34 2025 +0200
+++ b/modules/account_payment_stripe/payment.py Thu Oct 23 18:24:26 2025 +0200
@@ -129,9 +129,16 @@
             'readonly': Eval('state') != 'draft',
             })
     stripe_captured = fields.Boolean(
-        "Stripe Captured", readonly=True)
+        "Stripe Captured", readonly=True,
+        states={
+            'invisible': Eval('process_method') != 'stripe',
+            })
     stripe_capture_needed = fields.Function(
-        fields.Boolean("Stripe Capture Needed"),
+        fields.Boolean(
+            "Stripe Capture Needed",
+            states={
+                'invisible': Eval('process_method') != 'stripe',
+                }),
         'get_stripe_capture_needed')
     stripe_token = fields.Char(
         "Stripe Token", readonly=True, strip=False,
@@ -157,7 +164,10 @@
                 | ~Eval('stripe_capture_needed')),
             })
     stripe_idempotency_key = fields.Char(
-        "Stripe Idempotency Key", readonly=True, strip=False)
+        "Stripe Idempotency Key", readonly=True, strip=False,
+        states={
+            'invisible': Eval('process_method') != 'stripe',
+            })
     stripe_error_message = fields.Char("Stripe Error Message", readonly=True,
         states={
             'invisible': (
@@ -185,7 +195,11 @@
             'invisible': ~Eval('stripe_dispute_status'),
             })
     stripe_amount = fields.Function(
-        fields.Integer("Stripe Amount"),
+        fields.Integer(
+            "Stripe Amount",
+            states={
+                'invisible': Eval('process_method') != 'stripe',
+                }),
         'get_stripe_amount', setter='set_stripe_amount')
     stripe_refunds = fields.One2Many(
         'account.payment.stripe.refund', 'payment', "Refunds",
@@ -230,20 +244,24 @@
         cls.stripe_amount.states.update(cls.amount.states)
         cls._buttons.update({
                 'stripe_checkout': {
-                    'invisible': (~Eval('state', 'draft').in_(
-                            ['submitted', 'approved', 'processing'])
-                        | ~Eval('stripe_checkout_needed', False)),
-                    'depends': ['state', 'stripe_checkout_needed'],
+                    'invisible': ((Eval('process_method') != 'stripe')
+                        | (~Eval('state', 'draft').in_(
+                                ['submitted', 'approved', 'processing'])
+                            | ~Eval('stripe_checkout_needed', False))),
+                    'depends': [
+                        'process_method', 'state', 'stripe_checkout_needed'],
                     },
                 'stripe_do_capture': {
-                    'invisible': ((Eval('state', 'draft') != 'processing')
-                        | ~Eval('stripe_capture_needed')),
-                    'depends': ['state', 'stripe_capture_needed'],
+                    'invisible': ((Eval('process_method') != 'stripe')
+                        | ((Eval('state', 'draft') != 'processing')
+                            | ~Eval('stripe_capture_needed'))),
+                    'depends': [
+                        'process_method', 'state', 'stripe_capture_needed'],
                     },
                 'stripe_do_pull': {
-                    'invisible': (
-                        ~Eval('stripe_charge_id')
-                        & ~Eval('stripe_payment_intent_id')),
+                    'invisible': ((Eval('process_method') != 'stripe')
+                        | (~Eval('stripe_charge_id')
+                            & ~Eval('stripe_payment_intent_id'))),
                     'depends': [
                         'stripe_charge_id', 'stripe_payment_intent_id'],
                     },

Reply via email to