From 9af60a509258ce3c3ea4626edb1d84927040f4cf Mon Sep 17 00:00:00 2001 From: Kevin Baptiste Date: Mon, 24 Apr 2023 09:00:42 +0000 Subject: [PATCH] [FIX] hr_recruitment: separate contacts for employees The fix introduced in odoo/odoo#114903 created another issue: changing the work email would change the private email also, breaking the seperation of the contacts for the employee. The initial behavior was correct: - a res.partner for the work details (email, phone, etc.) - a res.partner (of type private) for the personal details of the employee. task-3284664 closes odoo/odoo#122880 X-original-commit: 290465e57dfcb8503e382a418e0ba4498ea5693b Signed-off-by: Kevin Baptiste --- addons/hr/views/hr_employee_views.xml | 2 +- addons/hr_recruitment/models/hr_applicant.py | 1 + addons/hr_recruitment/models/hr_employee.py | 10 ---------- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/addons/hr/views/hr_employee_views.xml b/addons/hr/views/hr_employee_views.xml index 193ad5603f6..456eec788a8 100644 --- a/addons/hr/views/hr_employee_views.xml +++ b/addons/hr/views/hr_employee_views.xml @@ -229,7 +229,7 @@ class="oe_stat_button" icon="fa-address-card-o" type="object" - attrs="{'invisible': [('related_contacts_count', '=', 0)]}"> + attrs="{'invisible': ['|', ('id', '=', False), ('related_contacts_count', '=', 0)]}">
Contacts diff --git a/addons/hr_recruitment/models/hr_applicant.py b/addons/hr_recruitment/models/hr_applicant.py index 966605491bf..3290f8f8065 100644 --- a/addons/hr_recruitment/models/hr_applicant.py +++ b/addons/hr_recruitment/models/hr_applicant.py @@ -540,6 +540,7 @@ class Applicant(models.Model): if new_partner.create_date.date() == fields.Date.today(): new_partner.write({ 'type': 'private', + 'name': self.partner_name or self.email_from, 'phone': self.partner_phone, 'mobile': self.partner_mobile, }) diff --git a/addons/hr_recruitment/models/hr_employee.py b/addons/hr_recruitment/models/hr_employee.py index 0824b565783..2ea3ad7af52 100644 --- a/addons/hr_recruitment/models/hr_employee.py +++ b/addons/hr_recruitment/models/hr_employee.py @@ -22,16 +22,6 @@ class HrEmployee(models.Model): ]) return [('id', 'in', employees.ids)] - def default_get(self, fields): - res = super().default_get(fields) - # Add the work_contact_id to prevent the creation of a second contact with - # `_inverse_work_contact_details` method of `hr.employee.base` - if 'work_contact_id' in fields: - current_applicant = self.env['hr.applicant'].browse(self.env.context.get('default_applicant_id')) - if current_applicant: - res['work_contact_id'] = current_applicant.partner_id.id - return res - @api.model_create_multi def create(self, vals_list): employees = super().create(vals_list)