From 1fe2deb89ad36d4ac92888bb241121de5b68537c Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Tue, 27 Oct 2020 10:30:45 +0100 Subject: [PATCH] [13.0][FIX] Compatibility with multicompany - The mis.report.instance should allow to define as many companies as the user is allowed to operate on when logged. - The company is only a required field if the flag 'multi_company' is not set. --- mis_builder/models/mis_report_instance.py | 11 +++++------ mis_builder/readme/newsfragments/327.bugfix | 2 ++ mis_builder/security/mis_builder_security.xml | 2 +- mis_builder/views/mis_report_instance.xml | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 mis_builder/readme/newsfragments/327.bugfix diff --git a/mis_builder/models/mis_report_instance.py b/mis_builder/models/mis_report_instance.py index e47567d51..d2e5246f1 100644 --- a/mis_builder/models/mis_report_instance.py +++ b/mis_builder/models/mis_report_instance.py @@ -499,7 +499,7 @@ def _compute_pivot_date(self): comodel_name="res.company", string="Company", default=lambda self: self.env.company, - required=True, + required=False, ) multi_company = fields.Boolean( string="Multiple companies", @@ -511,6 +511,7 @@ def _compute_pivot_date(self): comodel_name="res.company", string="Companies", help="Select companies for which data will be searched.", + domain=lambda self: [("id", "in", self.env.companies.ids)] ) query_company_ids = fields.Many2many( comodel_name="res.company", @@ -544,12 +545,10 @@ def _compute_pivot_date(self): ) hide_analytic_filters = fields.Boolean(default=True) - @api.onchange("company_id", "multi_company") + @api.onchange("multi_company") def _onchange_company(self): - if self.company_id and self.multi_company: - self.company_ids = self.env["res.company"].search( - [("id", "child_of", self.company_id.id)] - ) + if self.multi_company: + self.company_id = False else: self.company_ids = False diff --git a/mis_builder/readme/newsfragments/327.bugfix b/mis_builder/readme/newsfragments/327.bugfix new file mode 100644 index 000000000..6b4af96af --- /dev/null +++ b/mis_builder/readme/newsfragments/327.bugfix @@ -0,0 +1,2 @@ +The mis.report.instance should allow to define as many companies as the user is allowed to operate on when logged. +The company is only a required field if the flag 'multi_company' is not set. diff --git a/mis_builder/security/mis_builder_security.xml b/mis_builder/security/mis_builder_security.xml index 6c37f2513..b51ed7b80 100644 --- a/mis_builder/security/mis_builder_security.xml +++ b/mis_builder/security/mis_builder_security.xml @@ -4,7 +4,7 @@ Mis Report Instance multi company - ['|',('company_id','=',False),('company_id','in',company_ids)] + ['|',('company_id','=',False),('company_id','in',company_ids), '|', ('company_ids', '=', False), ('company_ids', 'in', company_ids)] diff --git a/mis_builder/views/mis_report_instance.xml b/mis_builder/views/mis_report_instance.xml index dc9e717ce..55add228a 100644 --- a/mis_builder/views/mis_report_instance.xml +++ b/mis_builder/views/mis_report_instance.xml @@ -163,6 +163,7 @@