From 468ca93e071dac67e60cfbd60fa93be3e07ed045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 26 Dec 2022 15:08:29 +0100 Subject: [PATCH] Use match pattern to find journal Closes #11884 --- modules/account/CHANGELOG | 1 + modules/account/journal.py | 13 +++++++-- modules/account/view/journal_form.xml | 10 +++++-- modules/account/view/journal_tree.xml | 2 +- modules/account_invoice/invoice.py | 35 ++++++++++++++--------- modules/account_invoice_defer/account.py | 34 +++++++++++++++------- modules/purchase/purchase.py | 15 ++-------- modules/sale/sale.py | 2 +- modules/sale_subscription/subscription.py | 2 +- 9 files changed, 70 insertions(+), 44 deletions(-) diff --git a/modules/account/CHANGELOG b/modules/account/CHANGELOG index ecee852834..5c03eea08f 100644 --- a/modules/account/CHANGELOG +++ b/modules/account/CHANGELOG @@ -1,3 +1,4 @@ +* Use match pattern to find journal * Display general ledger information on account form Version 6.6.0 - 2022-10-31 diff --git a/modules/account/journal.py b/modules/account/journal.py index e4c0bf541a..99f54dfb28 100644 --- a/modules/account/journal.py +++ b/modules/account/journal.py @@ -7,7 +7,8 @@ from sql.aggregate import Sum from trytond import backend from trytond.i18n import gettext from trytond.model import ( - DeactivableMixin, ModelSQL, ModelView, Unique, Workflow, fields) + DeactivableMixin, MatchMixin, ModelSQL, ModelView, Unique, Workflow, + fields, sequence_ordered) from trytond.model.exceptions import AccessError from trytond.modules.company.model import ( CompanyMultiValueMixin, CompanyValueMixin) @@ -25,7 +26,9 @@ STATES = { class Journal( - DeactivableMixin, ModelSQL, ModelView, CompanyMultiValueMixin): + DeactivableMixin, MatchMixin, + sequence_ordered('matching_sequence', "Matching Sequence"), + ModelSQL, ModelView, CompanyMultiValueMixin): 'Journal' __name__ = 'account.journal' name = fields.Char('Name', size=None, required=True, translate=True) @@ -153,6 +156,12 @@ class Journal( debit - credit) return result + @classmethod + def find(cls, pattern): + for journal in cls.search([]): + if journal.match(pattern): + return journal + @classmethod def write(cls, *args): pool = Pool() diff --git a/modules/account/view/journal_form.xml b/modules/account/view/journal_form.xml index ecb117609e..0b36caccd6 100644 --- a/modules/account/view/journal_form.xml +++ b/modules/account/view/journal_form.xml @@ -1,13 +1,17 @@ -
+