- Employees > Configuration > Planning Types and ensure the activity
type "To Do" is set to scheduled date several days after previous
activity (default should be 5 days);
- Check that onboarding Plan has at least 2 activities with activity
type "To Do";
- Click launch plan.
Before this commit, the activity type configuration is ignored and all
activities are due tomorrow.
Now, the activities are due taking into account the activity type
configuration.
opw-2255586
closes odoo/odoo#51423
X-original-commit: c159479d7f714f2ec871cc4b965de3f961160789
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class HrPlanWizard(models.TransientModel):
|
|
_name = 'hr.plan.wizard'
|
|
_description = 'Plan Wizard'
|
|
|
|
@api.model
|
|
def default_get(self, fields_list):
|
|
res = super(HrPlanWizard, self).default_get(fields_list)
|
|
if (not fields_list or 'employee_id' in fields_list) and 'employee_id' not in res:
|
|
if self.env.context.get('active_id'):
|
|
res['employee_id'] = self.env.context['active_id']
|
|
return res
|
|
|
|
plan_id = fields.Many2one('hr.plan', default=lambda self: self.env['hr.plan'].search([], limit=1))
|
|
employee_id = fields.Many2one('hr.employee', string='Employee', required=True)
|
|
|
|
def action_launch(self):
|
|
for activity_type in self.plan_id.plan_activity_type_ids:
|
|
responsible = activity_type.get_responsible_id(self.employee_id)
|
|
|
|
if self.env['hr.employee'].with_user(responsible).check_access_rights('read', raise_exception=False):
|
|
activity = self.employee_id.activity_schedule(
|
|
activity_type_id=activity_type.activity_type_id.id,
|
|
summary=activity_type.summary,
|
|
note=activity_type.note,
|
|
user_id=responsible.id
|
|
)
|
|
activity._onchange_activity_type_id()
|
|
|
|
return {
|
|
'type': 'ir.actions.act_window',
|
|
'res_model': 'hr.employee',
|
|
'res_id': self.employee_id.id,
|
|
'name': self.employee_id.display_name,
|
|
'view_mode': 'form',
|
|
'views': [(False, "form")],
|
|
}
|