Purpose
=======
Give the possibility to elaborate plans through Odoo. For instance, in HR,
you could create an onboarding plan when a employee is created. Someone manages
laptop and other equipment, someone check hr stuff, ... This feature is generic
but in a first time we will apply it only on the hr module.
Ease HR process in a company by creating plans: a plan is an assembly of Next
Activities that will be launched together whenever you need it.
Example of plan for an employee onboarding:
Activity: Prepare materials
Responsible: Alain
Deadline: At the contract signature
Activity: Manage Cars
Responsible: Cécile
Deadline: at the contract signature (both signature)
Activity: Plan Training
Responsible: Caroline
Deadline: After signature
Activity: Training
Responsible: Employee
Deadline: 1 week after the employement date
Specifications
==============
On HR Configuration: Add a menu "Activity Plans"
Activity plan object:
- Name
- Model (debug mode) (hr by default)
- Activity Template o2m
- Activity Type (only the one related to hr)
- Deadline (come from Activity Type)
- Responsible \/
0 Coach
0 Manager
0 Other
[Responsible_name] \/ (coach, manager or manually set if other)
Add datas, 2 plans:
Onboarding
- Name: Onboarding
- Plan lines:
Activity: Setup IT Materials
Responsible: [a user] (manager)
Deadline: At the contract signature
Activity: Plan Training
Responsible: [manager]
Deadline: After signature
Activity: Training
Responsible: [Employee]
Deadline: 1 week after the employement date
Offboarding
- Name: Onboarding
- Plan lines:
Activity: Compute Out Delais
Responsible: [a user] (manager)
Deadline: today
Activity: Take Back HR Materials
Responsible: [manager]
Deadline: today
Activity: Manage Car
Responsible: [manager]
Deadline: today
When to trigger it ?
HR specific use case:
1/ On employee, from the employee chatter:
when you create an employee, Odoobot will log a note with the following message:
"Congratulations ! May i recommand you to setup an onboarding plan?", with a link
create a plan from it.
2/ Add a button 'launch plan' to open a wizard to select the plan
3/ When archive an employee
Open a wizard with:
- Reason (selection)
- Action plan (m2o not required)
Error if employee not linked to a user.
Task : 1912681
closes odoo/odoo#29151
136 lines
6.3 KiB
XML
136 lines
6.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
|
|
<record id="dep_administration" model="hr.department">
|
|
<field name="name">Administration</field>
|
|
</record>
|
|
|
|
<record id="dep_sales" model="hr.department">
|
|
<field name="name">Sales</field>
|
|
</record>
|
|
|
|
<record id="employee_admin" model="hr.employee">
|
|
<field name="name" eval="obj(ref('base.partner_admin')).name" model="res.partner"/>
|
|
<field name="user_id" ref="base.user_admin"/>
|
|
<field name="address_id" ref="base.partner_admin"/>
|
|
<field name="address_home_id" ref="base.partner_admin"/>
|
|
<field name="image" eval="obj(ref('base.partner_admin')).image" model="res.partner"/>
|
|
</record>
|
|
|
|
<record id="activity_type_setup_it_materials" model="mail.activity.type">
|
|
<field name="name">Setup IT Materials</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
</record>
|
|
|
|
<record id="activity_type_setup_it_materials" model="mail.activity.type">
|
|
<field name="name">Setup IT Materials</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
</record>
|
|
|
|
<record id="activity_type_plan_training" model="mail.activity.type">
|
|
<field name="name">Plan Training</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
</record>
|
|
|
|
<record id="activity_type_training" model="mail.activity.type">
|
|
<field name="name">Training</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
<field name="delay_unit">weeks</field>
|
|
<field name="delay_count">1</field>
|
|
</record>
|
|
|
|
<record id="activity_type_compute_out_delais" model="mail.activity.type">
|
|
<field name="name">Compute Out Delais</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
</record>
|
|
|
|
<record id="activity_type_take_back_hr_materials" model="mail.activity.type">
|
|
<field name="name">Take Back HR Materials</field>
|
|
<field name="res_model_id" ref="hr.model_hr_employee"/>
|
|
</record>
|
|
|
|
<record id="onboarding_setup_it_materials" model="hr.plan.activity.type">
|
|
<field name="activity_type_id" ref="hr.activity_type_setup_it_materials"/>
|
|
<field name="responsible">manager</field>
|
|
</record>
|
|
|
|
<record id="onboarding_plan_training" model="hr.plan.activity.type">
|
|
<field name="activity_type_id" ref="hr.activity_type_plan_training"/>
|
|
<field name="responsible">manager</field>
|
|
</record>
|
|
|
|
<record id="onboarding_training" model="hr.plan.activity.type">
|
|
<field name="activity_type_id" ref="hr.activity_type_training"/>
|
|
<field name="responsible">employee</field>
|
|
</record>
|
|
|
|
<record id="offboarding_setup_compute_out_delais" model="hr.plan.activity.type">
|
|
<field name="activity_type_id" ref="hr.activity_type_compute_out_delais"/>
|
|
<field name="responsible">manager</field>
|
|
</record>
|
|
|
|
<record id="offboarding_take_back_hr_materials" model="hr.plan.activity.type">
|
|
<field name="activity_type_id" ref="hr.activity_type_take_back_hr_materials"/>
|
|
<field name="responsible">manager</field>
|
|
</record>
|
|
|
|
<record id="onboarding_plan" model='hr.plan'>
|
|
<field name="name">Onboarding</field>
|
|
<field name="plan_activity_type_ids" eval="[(6, 0, [
|
|
ref('hr.onboarding_setup_it_materials'),
|
|
ref('hr.onboarding_plan_training'),
|
|
ref('hr.onboarding_training'),
|
|
])]"/>
|
|
</record>
|
|
|
|
<record id="offboarding_plan" model='hr.plan'>
|
|
<field name="name">Offboarding</field>
|
|
<field name="plan_activity_type_ids" eval="[(6, 0, [
|
|
ref('hr.offboarding_setup_compute_out_delais'),
|
|
ref('hr.offboarding_take_back_hr_materials'),
|
|
])]"/>
|
|
</record>
|
|
|
|
<record id="mail_template_data_unknown_employee_email_address" model="mail.template">
|
|
<field name="name">HR: mailgateway unknown employee bounce</field>
|
|
<field name="model_id" ref="base.model_ir_module_module"/>
|
|
<field name="subject">Your document has not been created</field>
|
|
<field name="email_from">${user.email}</field>
|
|
<field name="email_to">${ctx['email_to']|safe}</field>
|
|
<field name="body_html" type="html">
|
|
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;"><tr><td align="center">
|
|
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding: 16px; background-color: white; color: #454748; border-collapse:separate;">
|
|
<tbody>
|
|
<tr>
|
|
<td align="center" style="min-width: 590px;">
|
|
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
|
<tr><td valign="top" style="font-size: 13px;">
|
|
<div>
|
|
Hi,<br/>
|
|
Your document has not been created because your email address is not recognized. Please send emails with the email address recorded on your employee information, or contact your HR manager.
|
|
</div>
|
|
</td></tr>
|
|
</table>
|
|
</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr>
|
|
<!-- POWERED BY -->
|
|
<tr><td align="center" style="min-width: 590px;">
|
|
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;">
|
|
<tr><td style="text-align: center; font-size: 13px;">
|
|
Powered by <a target="_blank" href="https://www.odoo.com?utm_source=db&utm_medium=hr" style="color: #875A7B;">Odoo</a>
|
|
</td></tr>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</field>
|
|
<field name="lang">${user.lang}</field>
|
|
<field name="auto_delete" eval="True"/>
|
|
<field name="user_signature" eval="False"/>
|
|
</record>
|
|
|
|
</data>
|
|
</odoo>
|