From 82396fc083c400fd2628df899ec5d345f5f2e1f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 6 Aug 2022 10:46:17 +0200 Subject: [PATCH] Enforce company of parent/childs of chart of accounts issue11613 review417611003 --- account.py | 10 ++++++++-- tax.py | 24 +++++++++++++++++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/account.py b/account.py index ac9da64e2a..d563ff8cbf 100644 --- a/account.py +++ b/account.py @@ -884,11 +884,17 @@ class Account( help="The type used if not empty and debit < credit.") parent = fields.Many2One( 'account.account', 'Parent', select=True, - left="left", right="right", ondelete="RESTRICT", states=_states) + left="left", right="right", ondelete="RESTRICT", states=_states, + domain=[ + ('company', '=', Eval('company', -1)), + ]) left = fields.Integer('Left', required=True, select=True) right = fields.Integer('Right', required=True, select=True) childs = fields.One2Many( - 'account.account', 'parent', 'Children') + 'account.account', 'parent', "Children", + domain=[ + ('company', '=', Eval('company', -1)), + ]) balance = fields.Function(Monetary( "Balance", currency='currency', digits='currency'), 'get_balance') diff --git a/tax.py b/tax.py index 12d2c9ead6..7751e544c1 100644 --- a/tax.py +++ b/tax.py @@ -134,9 +134,16 @@ class TaxCode( company = fields.Many2One('company.company', 'Company', required=True, select=True) parent = fields.Many2One( - 'account.tax.code', 'Parent', select=True, states=_states) + 'account.tax.code', "Parent", select=True, states=_states, + domain=[ + ('company', '=', Eval('company', -1)), + ]) lines = fields.One2Many('account.tax.code.line', 'code', "Lines") - childs = fields.One2Many('account.tax.code', 'parent', 'Children') + childs = fields.One2Many( + 'account.tax.code', 'parent', "Children", + domain=[ + ('company', '=', Eval('company', -1)), + ]) currency = fields.Function(fields.Many2One('currency.currency', 'Currency'), 'on_change_with_currency') amount = fields.Function(Monetary( @@ -781,9 +788,16 @@ class Tax(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin): }, help=('If checked then the unit price for further tax computation will' ' be modified by this tax.')) - parent = fields.Many2One('account.tax', 'Parent', ondelete='CASCADE', - states=_states) - childs = fields.One2Many('account.tax', 'parent', 'Children') + parent = fields.Many2One( + 'account.tax', "Parent", ondelete='CASCADE', states=_states, + domain=[ + ('company', '=', Eval('company', -1)), + ]) + childs = fields.One2Many( + 'account.tax', 'parent', "Children", + domain=[ + ('company', '=', Eval('company', -1)), + ]) company = fields.Many2One( 'company.company', "Company", required=True, select=True) invoice_account = fields.Many2One('account.account', 'Invoice Account',