From bff30f58c52dbe96bb5a6205739b2ef17ffec767 Mon Sep 17 00:00:00 2001 From: Laurent Smet Date: Wed, 28 Feb 2018 15:13:39 +0100 Subject: [PATCH] [FIX] base: disable the copying of the res.company When copying a company, the default accounts/journals are copyied too. The chart_template_id and the opening move are also copyied. To conclude: copying a company is a very bad idea that leads to a lot of access rights issues. -githug issue: 21213 --- odoo/addons/base/res/res_company.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/odoo/addons/base/res/res_company.py b/odoo/addons/base/res/res_company.py index 0fb6478a243..0a5ad8fbae1 100644 --- a/odoo/addons/base/res/res_company.py +++ b/odoo/addons/base/res/res_company.py @@ -5,7 +5,7 @@ import os import re from odoo import api, fields, models, tools, _ -from odoo.exceptions import ValidationError +from odoo.exceptions import ValidationError, UserError class Company(models.Model): @@ -15,16 +15,7 @@ class Company(models.Model): @api.multi def copy(self, default=None): - """ - Duplicating a company without specifying a partner duplicate the partner - """ - self.ensure_one() - default = dict(default or {}) - if not default.get('name') and not default.get('partner_id'): - copy_partner = self.partner_id.copy() - default['partner_id'] = copy_partner.id - default['name'] = copy_partner.name - return super(Company, self).copy(default) + raise UserError(_('Duplicate a company is not allowed. Please create a new one instead.')) def _get_logo(self): return base64.b64encode(open(os.path.join(tools.config['root_path'], 'addons', 'base', 'res', 'res_company_logo.png'), 'rb') .read())