diff --git a/addons/hr/models/hr_employee.py b/addons/hr/models/hr_employee.py index fd7c16d7c0f..ae2078f7037 100644 --- a/addons/hr/models/hr_employee.py +++ b/addons/hr/models/hr_employee.py @@ -304,19 +304,26 @@ class HrEmployeePrivate(models.Model): employees = super().create(vals_list) if self.env.context.get('salary_simulation'): return employees + employee_departments = employees.department_id + if employee_departments: + self.env['mail.channel'].sudo().search([ + ('subscription_department_ids', 'in', employee_departments.ids) + ])._subscribe_users_automatically() + onboarding_notes_bodies = {} + hr_root_menu = self.env.ref('hr.menu_hr_root') for employee in employees: - if employee.department_id: - self.env['mail.channel'].sudo().search([ - ('subscription_department_ids', 'in', employee.department_id.id) - ])._subscribe_users_automatically() # Launch onboarding plans url = '/web#%s' % url_encode({ 'action': 'hr.plan_wizard_action', 'active_id': employee.id, 'active_model': 'hr.employee', - 'menu_id': self.env.ref('hr.menu_hr_root').id, + 'menu_id': hr_root_menu.id, }) - employee._message_log(body=_('Congratulations! May I recommend you to setup an onboarding plan?') % (url)) + onboarding_notes_bodies[employee.id] = _( + 'Congratulations! May I recommend you to setup an onboarding plan?', + url, + ) + employees._message_log_batch(onboarding_notes_bodies) return employees def write(self, vals):