From 1ca4c49ca1feea4281abbf66765cc3f5a141d99f Mon Sep 17 00:00:00 2001 From: RomainLibert Date: Tue, 6 Aug 2019 14:40:52 +0000 Subject: [PATCH] [IMP] hr: synchonize image_1920 depending on self edit setting Currenty if the self edit setting is deactivated, a user has to be hr_user in order to change its employee image through the employee profile. The problem is that if the image on the employee is currently not set, we should copy it through the employee profile whatever the setting value closes odoo/odoo#35542 Signed-off-by: Yannick Tivisse (yti) --- addons/hr/models/res_users.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/hr/models/res_users.py b/addons/hr/models/res_users.py index 4d1be7d44d8..dc3417c82be 100644 --- a/addons/hr/models/res_users.py +++ b/addons/hr/models/res_users.py @@ -163,7 +163,15 @@ class User(models.Model): if employee_values: if 'email' in employee_values: employee_values['work_email'] = employee_values.pop('email') - self.env['hr.employee'].sudo().search([('user_id', 'in', self.ids)]).write(employee_values) + if 'image_1920' in vals: + without_image = self.env['hr.employee'].sudo().search([('user_id', 'in', self.ids), ('image_1920', '=', False)]) + with_image = self.env['hr.employee'].sudo().search([('user_id', 'in', self.ids), ('image_1920', '!=', False)]) + without_image.write(employee_values) + if not can_edit_self: + employee_values.pop('image_1920') + with_image.write(employee_values) + else: + self.env['hr.employee'].sudo().search([('user_id', 'in', self.ids)]).write(employee_values) return result @api.model