diff --git a/addons/hr/models/hr.py b/addons/hr/models/hr.py index d523f6cee96..91ab03edf7e 100644 --- a/addons/hr/models/hr.py +++ b/addons/hr/models/hr.py @@ -192,12 +192,20 @@ class Employee(models.Model): @api.onchange('user_id') def _onchange_user(self): - self.work_email = self.user_id.email - self.name = self.user_id.name - self.image = self.user_id.image + if self.user_id: + self.update(self._sync_user(self.user_id)) + + def _sync_user(self, user): + return dict( + name=user.name, + image=user.image, + work_email=user.email, + ) @api.model def create(self, vals): + if vals.get('user_id'): + vals.update(self._sync_user(self.env['res.users'].browse(vals['user_id']))) tools.image_resize_images(vals) return super(Employee, self).create(vals)