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):