diff options
| author | Shreya Modi <smo@odoo.com> | 2019-04-02 10:00:19 +0000 |
|---|---|---|
| committer | Barad Mahendra <mba@openerp.com> | 2019-07-19 07:09:07 +0000 |
| commit | 125dbf0dfd1e38558cd8ff6ee2b8d7aeff27dc20 (patch) | |
| tree | 91932912a659332603f9af168d6fab45c699d477 /odoo/addons/base/models | |
| parent | 112a4f309e59982544f2e82ef7e1b2728a3009ac (diff) | |
[IMP] base: ensure parent and child partners have the same company
Purpose of the commit is to ensure parent and child partners have the
same company. When creating a new child in another company and one of them
tries to log a message on other contacts an error is raised due to
multi company record rules.
It makes no sense to have child contacts belonging to separate companies.
If parent is set on contact then the company_id should be readonly and
it will automatically set the parent's company_id.
Task-1934813
closes: #32405
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'odoo/addons/base/models')
| -rw-r--r-- | odoo/addons/base/models/res_partner.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py index bd3c0ab4489..3e84b921882 100644 --- a/odoo/addons/base/models/res_partner.py +++ b/odoo/addons/base/models/res_partner.py @@ -415,6 +415,11 @@ class Partner(models.Model): if not self.image and self._context.get('gravatar_image') and self.email: self.image = self._get_gravatar_image(self.email) + @api.onchange('parent_id', 'company_id') + def _onchange_company_id(self): + if self.parent_id: + self.company_id = self.parent_id.company_id.id + @api.depends('name', 'email') def _compute_email_formatted(self): for partner in self: |
