From 847889b49768db290f86ab5c5f48e8134fa29266 Mon Sep 17 00:00:00 2001 From: qdp-odoo Date: Mon, 2 Mar 2020 13:54:12 +0000 Subject: [FIX] analytic, account: multi company fixes added _check_company_auto and check_company attributes on relevant objects Was task 2206523 closes odoo/odoo#46586 Related: odoo/enterprise#8986 Related: odoo/upgrade#993 Signed-off-by: Laurent Smet --- addons/analytic/models/analytic_account.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'addons/analytic') diff --git a/addons/analytic/models/analytic_account.py b/addons/analytic/models/analytic_account.py index e5fd1614f39..5c99a9dfcdf 100644 --- a/addons/analytic/models/analytic_account.py +++ b/addons/analytic/models/analytic_account.py @@ -59,6 +59,7 @@ class AccountAnalyticAccount(models.Model): _inherit = ['mail.thread'] _description = 'Analytic Account' _order = 'code, name asc' + _check_company_auto = True @api.model def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): @@ -126,14 +127,14 @@ class AccountAnalyticAccount(models.Model): code = fields.Char(string='Reference', index=True, tracking=True) active = fields.Boolean('Active', help="If the active field is set to False, it will allow you to hide the account without removing it.", default=True) - group_id = fields.Many2one('account.analytic.group', string='Group', domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + group_id = fields.Many2one('account.analytic.group', string='Group', check_company=True) line_ids = fields.One2many('account.analytic.line', 'account_id', string="Analytic Lines") company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company) # use auto_join to speed up name_search call - partner_id = fields.Many2one('res.partner', string='Customer', auto_join=True, tracking=True, domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + partner_id = fields.Many2one('res.partner', string='Customer', auto_join=True, tracking=True, check_company=True) balance = fields.Monetary(compute='_compute_debit_credit_balance', string='Balance') debit = fields.Monetary(compute='_compute_debit_credit_balance', string='Debit') @@ -172,6 +173,7 @@ class AccountAnalyticLine(models.Model): _name = 'account.analytic.line' _description = 'Analytic Line' _order = 'date desc, id desc' + _check_company_auto = True @api.model def _default_user(self): @@ -183,10 +185,10 @@ class AccountAnalyticLine(models.Model): unit_amount = fields.Float('Quantity', default=0.0) product_uom_id = fields.Many2one('uom.uom', string='Unit of Measure', domain="[('category_id', '=', product_uom_category_id)]") product_uom_category_id = fields.Many2one(related='product_uom_id.category_id', readonly=True) - account_id = fields.Many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='restrict', index=True, domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") - partner_id = fields.Many2one('res.partner', string='Partner', domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + account_id = fields.Many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='restrict', index=True, check_company=True) + partner_id = fields.Many2one('res.partner', string='Partner', check_company=True) user_id = fields.Many2one('res.users', string='User', default=_default_user) - tag_ids = fields.Many2many('account.analytic.tag', 'account_analytic_line_tag_rel', 'line_id', 'tag_id', string='Tags', copy=True, domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + tag_ids = fields.Many2many('account.analytic.tag', 'account_analytic_line_tag_rel', 'line_id', 'tag_id', string='Tags', copy=True, check_company=True) company_id = fields.Many2one('res.company', string='Company', required=True, readonly=True, default=lambda self: self.env.company) currency_id = fields.Many2one(related="company_id.currency_id", string="Currency", readonly=True, store=True, compute_sudo=True) group_id = fields.Many2one('account.analytic.group', related='account_id.group_id', store=True, readonly=True, compute_sudo=True) -- cgit v1.2.3