From 8d0799bb859e67089447bc4beed347830dd7403e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 5 Feb 2024 09:59:35 +0100 Subject: [PATCH] Allow RPC on get_by_bank_account of statement journal --- modules/account_statement/CHANGELOG | 1 + modules/account_statement/journal.py | 5 +++++ .../scenario_account_statement_bank_account.rst | 16 +++++++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/account_statement/CHANGELOG b/modules/account_statement/CHANGELOG index 5e29ea27bc..c9e2719865 100644 --- a/modules/account_statement/CHANGELOG +++ b/modules/account_statement/CHANGELOG @@ -1,3 +1,4 @@ +* Allow RPC on get_by_bank_account of statement journal * Search statement journal by bank account and currency * Support second currency on statement line diff --git a/modules/account_statement/journal.py b/modules/account_statement/journal.py index ed5f17cabd..2c7d9f57f4 100644 --- a/modules/account_statement/journal.py +++ b/modules/account_statement/journal.py @@ -3,6 +3,7 @@ from trytond.model import DeactivableMixin, ModelSQL, ModelView, Unique, fields from trytond.pool import Pool from trytond.pyson import Eval +from trytond.rpc import RPC from trytond.transaction import Transaction @@ -59,6 +60,10 @@ class Journal(DeactivableMixin, ModelSQL, ModelView): Unique(t, t.bank_account, t.company), 'account_statement.msg_journal_bank_account_unique'), ] + cls.__rpc__.update( + get_by_bank_account=RPC( + result=lambda r: int(r) if r is not None else None), + ) @staticmethod def default_currency(): diff --git a/modules/account_statement/tests/scenario_account_statement_bank_account.rst b/modules/account_statement/tests/scenario_account_statement_bank_account.rst index 8c206de900..9624a9800c 100644 --- a/modules/account_statement/tests/scenario_account_statement_bank_account.rst +++ b/modules/account_statement/tests/scenario_account_statement_bank_account.rst @@ -8,7 +8,7 @@ Imports:: >>> from trytond.modules.account.tests.tools import create_chart, get_accounts >>> from trytond.modules.company.tests.tools import create_company, get_company >>> from trytond.modules.currency.tests.tools import get_currency - >>> from trytond.tests.tools import activate_modules + >>> from trytond.tests.tools import activate_modules, assertEqual Activate modules:: @@ -64,3 +64,17 @@ Change currency of bank account:: Traceback (most recent call last): ... AccountValidationError: ... + +Get journal by bank account:: + + >>> assertEqual( + ... StatementJournal.get_by_bank_account( + ... company.id, 'BE82068896274468', context={}), + ... statement_journal.id) + >>> assertEqual( + ... StatementJournal.get_by_bank_account( + ... company.id, 'BE82068896274468', 'EUR', context={}), + ... statement_journal.id) + >>> StatementJournal.get_by_bank_account(company.id, 'foo', context={}) + >>> StatementJournal.get_by_bank_account( + ... company.id, 'BE82068896274468', 'USD', context={})