From 4c13095dc8a60a8e2e2843abb291b0f1a1d74bc7 Mon Sep 17 00:00:00 2001 From: ?ngel ?lvarez Date: Sun, 6 Jan 2019 09:50:50 +0100 Subject: [PATCH] Add ir.message and use UserWarning/UserError --- account.py | 22 +++++++--------------- message.xml | 10 ++++++++++ tryton.cfg | 1 + 3 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 message.xml diff --git a/account.py b/account.py index 9606141..18f05b7 100644 --- a/account.py +++ b/account.py @@ -3,6 +3,8 @@ # the full copyright notices and license terms. from trytond.model import fields from trytond.pool import Pool, PoolMeta +from trytond.i18n import gettext +from trytond.exceptions import UserError __all__ = ['Configuration', 'ConfigurationDefaultAccount', 'AccountTemplate', 'Account', 'CreateChartAccount', 'CreateChart', 'UpdateChartStart', @@ -67,15 +69,6 @@ class AccountTemplate(metaclass=PoolMeta): class Account(metaclass=PoolMeta): __name__ = 'account.account' - @classmethod - def __setup__(cls): - super(Account, cls).__setup__() - cls._error_messages.update({ - 'invalid_code_digits': ('The number of code digits ' - '%(account_digits)d of account "%(account)s" must be ' - '%(digits)d.'), - }) - @classmethod def validate(cls, accounts): pool = Pool() @@ -90,12 +83,11 @@ class Account(metaclass=PoolMeta): # Only the first item of code is checked: "570000 (1)" -> "570000" code = self.code.split(' ')[0] if self.kind != 'view' and len(code) != digits: - self.raise_user_error('invalid_code_digits', error_args={ - 'account_digits': len(code), - 'account': self.rec_name, - 'digits': digits, - }) - + raise UserError(gettext( + 'account_code_digits.invalid_code_digits', + account_digits=len(code), + account=self.rec_name, + digits=digits)) class CreateChartAccount(metaclass=PoolMeta): __name__ = 'account.create_chart.account' diff --git a/message.xml b/message.xml new file mode 100644 index 0000000..7c0ed00 --- /dev/null +++ b/message.xml @@ -0,0 +1,10 @@ + + + + + + The number of code digits %(account_digits)d of account "%(account)s" must be %(digits)d. + + + diff --git a/tryton.cfg b/tryton.cfg index 741bb54..e316405 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -6,3 +6,4 @@ depends: account xml: account.xml + message.xml