diff --git a/soong_workflow/models/soong_hr_employee.py b/soong_workflow/models/soong_hr_employee.py index f81dfb1da..8a79b7e9f 100644 --- a/soong_workflow/models/soong_hr_employee.py +++ b/soong_workflow/models/soong_hr_employee.py @@ -16,3 +16,15 @@ class YuthonHrEmployee(models.Model): user_id = self.env['soong.user.role'].search([('id', '=', self.user_role_id.id)]) user_id.write({'personnel_ids': [(4, self.id.origin)]}) + @api.onchange('user_role_ids') + def _onchange_user_role_ids(self): + if self.user_role_ids: + for role in self.user_role_ids: + role.write({'personnel_ids': [(4, self.id)]}) + + groups = self.env['res.groups'].search([ + ('user_role_ids', 'in', self.user_role_ids.ids) + ]) + if groups: + groups._onchange_update_users() +