changeset a8550d684cac in modules/account_payment_stripe:default
details: 
https://hg.tryton.org/modules/account_payment_stripe?cmd=changeset;node=a8550d684cac
description:
        Add ir.message and use custom exceptions

        issue3672
diffstat:

 message.xml |  13 +++++++++++++
 payment.py  |  30 +++++++++++-------------------
 tryton.cfg  |   1 +
 3 files changed, 25 insertions(+), 19 deletions(-)

diffs (100 lines):

diff -r 0a69068bf926 -r a8550d684cac message.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/message.xml       Sat Dec 29 14:20:29 2018 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data group="1">
+        <record model="ir.message" id="msg_no_stripe_token">
+            <field name="text">To process payment "%(payment)s" you must set a 
Stripe token or customer.</field>
+        </record>
+        <record model="ir.message" id="msg_stripe_receivable">
+            <field name="text">You cannot use stripe journal "%(journal)s" on 
receivable payment "%(payment)s".</field>
+        </record>
+    </data>
+</tryton>
diff -r 0a69068bf926 -r a8550d684cac payment.py
--- a/payment.py        Fri Nov 02 20:07:30 2018 +0100
+++ b/payment.py        Sat Dec 29 14:20:29 2018 +0100
@@ -9,6 +9,7 @@
 
 import stripe
 
+from trytond.i18n import gettext
 from trytond.model import (
     ModelSQL, ModelView, Workflow, DeactivableMixin, fields)
 from trytond.pool import PoolMeta, Pool
@@ -19,6 +20,9 @@
 from trytond.url import HOSTNAME
 from trytond.wizard import Wizard, StateAction
 
+from trytond.modules.account_payment.exceptions import (
+    ProcessError, PaymentValidationError)
+
 __all__ = ['Journal', 'Group', 'Payment', 'Account', 'Customer',
     'Checkout', 'CheckoutPage']
 logger = logging.getLogger(__name__)
@@ -46,14 +50,6 @@
 class Group(metaclass=PoolMeta):
     __name__ = 'account.payment.group'
 
-    @classmethod
-    def __setup__(cls):
-        super(Group, cls).__setup__()
-        cls._error_messages.update({
-                'no_stripe_token': ('No Stripe token found '
-                    'for payment "%(payment)s".'),
-                })
-
     def process_stripe(self):
         pool = Pool()
         Payment = pool.get('account.payment')
@@ -66,9 +62,9 @@
                         payment.stripe_customer = customer
                         break
                 else:
-                    self.raise_user_error('no_stripe_token', {
-                            'payment': payment.rec_name,
-                            })
+                    raise ProcessError(
+                        gettext('account_payment_stripe.msg_no_stripe_token',
+                            payment=payment.rec_name))
         Payment.save(self.payments)
         Payment.__queue__.stripe_charge(self.payments)
 
@@ -181,10 +177,6 @@
         cls.amount.depends.append('stripe_capture_needed')
         cls.stripe_amount.states.update(cls.amount.states)
         cls.stripe_amount.depends.extend(cls.amount.depends)
-        cls._error_messages.update({
-                'stripe_receivable': ('Stripe journal "%(journal)s" '
-                    'can only be used for receivable payment "%(payment)s".'),
-                })
         cls._buttons.update({
                 'stripe_checkout': {
                     'invisible': (~Eval('state', 'draft').in_(
@@ -305,10 +297,10 @@
     def check_stripe_journal(self):
         if (self.kind != 'receivable'
                 and self.journal.process_method == 'stripe'):
-            self.raise_user_error('stripe_receivable', {
-                    'journal': self.journal.rec_name,
-                    'payment': self.rec_name,
-                    })
+            raise PaymentValidationError(
+                gettext('account_payment_stripe.msg_stripe_receivable',
+                    journal=self.journal.rec_name,
+                    payment=self.rec_name))
 
     @classmethod
     def create(cls, vlist):
diff -r 0a69068bf926 -r a8550d684cac tryton.cfg
--- a/tryton.cfg        Fri Nov 02 20:07:30 2018 +0100
+++ b/tryton.cfg        Sat Dec 29 14:20:29 2018 +0100
@@ -7,3 +7,4 @@
     party
 xml:
     payment.xml
+    message.xml

Reply via email to