changeset 050f32f04f09 in modules/account_payment_stripe:default
details: 
https://hg.tryton.org/modules/account_payment_stripe?cmd=changeset&node=050f32f04f09
description:
        Add validate_fields to ModelStorage

        issue11303
        review386191002
diffstat:

 payment.py |  25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

diffs (36 lines):

diff -r 1926007d3944 -r 050f32f04f09 payment.py
--- a/payment.py        Mon Apr 11 20:41:56 2022 +0200
+++ b/payment.py        Mon Apr 11 23:24:20 2022 +0200
@@ -322,18 +322,21 @@
             ]
 
     @classmethod
-    def validate(cls, payments):
-        super(Payment, cls).validate(payments)
-        for payment in payments:
-            payment.check_stripe_journal()
+    def validate_fields(cls, payments, field_names):
+        super().validate_fields(payments, field_names)
+        cls.check_stripe_journal(payments, field_names)
 
-    def check_stripe_journal(self):
-        if (self.kind != 'receivable'
-                and self.journal.process_method == 'stripe'):
-            raise PaymentValidationError(
-                gettext('account_payment_stripe.msg_stripe_receivable',
-                    journal=self.journal.rec_name,
-                    payment=self.rec_name))
+    @classmethod
+    def check_stripe_journal(cls, payments, field_names=None):
+        if field_names and not (field_names & {'kind', 'journal'}):
+            return
+        for payment in payments:
+            if (payment.kind != 'receivable'
+                    and payment.journal.process_method == 'stripe'):
+                raise PaymentValidationError(
+                    gettext('account_payment_stripe.msg_stripe_receivable',
+                        journal=payment.journal.rec_name,
+                        payment=payment.rec_name))
 
     @classmethod
     def create(cls, vlist):

Reply via email to