Files
odoo_source/addons/hr/wizard/hr_departure_wizard_views.xml
T
yhu-odoo 32fc38ef58 [IMP] hr_appraisal: Improve employee archiving flow
PURPOSE
=======

When you close a payroll (employees), there are often a lot of document
linked. Archiving an employee should archive the contract, cancel future
leaves, archive the private address

Specification
=============

Add departure date (hr):
  - Add a Date field to both hr.departure.wizard and hr.employee. In
    the wizard, the field is required.
  - In toggle_active() method in hr.employee, set departure_date to
    false when unarchive the employee.
  - If user has a current running contract, a user error will raise if
    user enter a departure date earlier than the start date of the
    contract.
Add checkbox to set a closing date on hr.contract (hr.contract):
  - In the hr.departure.wizard, set the departure date to be the end
    date of runing contract. Set the states of all draft contracts to
    "cancel".
Add checkbox to free car (hr.fleet):
  - In the hr.departure.wizard, set end_date to
    fleet.vehicle.assignation.log, if there is no end_date or end_date >
    departure_date
  - Go through fleet.vehicle, find records with dirver_id to be the
    employee, set it to False.
Add checkbox to archive private address (hr):
   - when the private address not link to a internel user, set
     employee.address_home_id.active to Flase
   - unarchive it after the employee unarchived
Add checkbox to cancel future appraisals (hr.appraisal)
   - find all appraisals link to the employee and state in
     ['new', 'pending'], set their state to 'cancel'.
Add checkbox to cancel future leaves (hr.holidays):
   - only consider leaves are not in state ['refuse', 'cancel'],
     find leaves with to_date > departure_date, set their state to
     'cancel'.

PR #42526
Task 2153106

Related: odoo/enterprise#7471
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-29 10:05:12 +00:00

36 lines
1.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="hr_departure_wizard_view_form" model="ir.ui.view">
<field name="name">hr.departure.wizard.view.form</field>
<field name="model">hr.departure.wizard</field>
<field name="arch" type="xml">
<form>
<sheet>
<group id="info" string="Departure Info">
<field name="employee_id" invisible="1"/>
<field name="departure_reason"/>
<field name="departure_description"/>
<field name="archive_private_address"/>
</group>
<group id="date" string="Departure Date">
<field name="departure_date" />
</group>
</sheet>
<footer>
<button name="action_register_departure" string="Save" type="object" class="oe_highlight"/>
<button string="Only Employee" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="hr_departure_wizard_action" model="ir.actions.act_window">
<field name="name">Register Departure</field>
<field name="res_model">hr.departure.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</odoo>