From 2ea10e29423f80f826cc1ef6aa171563c7661b17 Mon Sep 17 00:00:00 2001 From: gawa-odoo Date: Mon, 7 Nov 2022 10:24:17 +0000 Subject: [PATCH 1/2] [FIX] analytic: constraint multi-company on distribution model Before this fix, the constraint did not prevent changing the company to a bad one on an existing field. We also remove the GROUP BY clause as it is useless. X-original-commit: 2d5879cd8d84edcc16c55622b86c724f70055b03 Part-of: odoo/odoo#105259 --- addons/analytic/models/analytic_distribution_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/analytic/models/analytic_distribution_model.py b/addons/analytic/models/analytic_distribution_model.py index 3fac11406b8..8df27564fd0 100644 --- a/addons/analytic/models/analytic_distribution_model.py +++ b/addons/analytic/models/analytic_distribution_model.py @@ -42,8 +42,8 @@ class AccountAnalyticDistributionModel(models.Model): WHERE account.company_id IS NOT NULL AND (model.company_id IS NULL OR model.company_id != account.company_id) - GROUP BY model.id """ + self.flush_model(['company_id', 'analytic_distribution']) self.env.cr.execute(query) if self.env.cr.dictfetchone(): raise UserError(_('You defined a distribution with analytic account(s) belonging to a specific company but a model shared between companies or with a different company')) From cee5a63349e1abda4803d4bbd809c2663eb752ec Mon Sep 17 00:00:00 2001 From: gawa-odoo Date: Mon, 7 Nov 2022 14:31:33 +0000 Subject: [PATCH 2/2] [FIX] analytic: remove useless query This query itself is useless and its result is never watched. X-original-commit: 1e15dff32d224ed0dafc32d1b7bab37c56d58fba Part-of: odoo/odoo#105259 --- addons/analytic/models/analytic_account.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/analytic/models/analytic_account.py b/addons/analytic/models/analytic_account.py index d304a5c7057..cae1eeb332e 100644 --- a/addons/analytic/models/analytic_account.py +++ b/addons/analytic/models/analytic_account.py @@ -102,9 +102,6 @@ class AccountAnalyticAccount(models.Model): self.flush_recordset(['company_id']) self.env['account.analytic.line'].flush_model(['account_id', 'company_id']) - self._cr.execute(''' - SELECT line.id, line.company_id, line.account_id FROM account_analytic_line line''') - self._cr.execute(''' SELECT line.account_id FROM account_analytic_line line