Initial commit: Hr packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:50 +02:00
commit 62531cd146
2820 changed files with 1432848 additions and 0 deletions

View file

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import hr_departure_wizard

View file

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class HrDepartureWizard(models.TransientModel):
_inherit = 'hr.departure.wizard'
release_campany_car = fields.Boolean("Release Company Car", default=lambda self: self.env.user.user_has_groups('fleet.fleet_group_user'))
def action_register_departure(self):
super(HrDepartureWizard, self).action_register_departure()
if self.release_campany_car:
self._free_campany_car()
def _free_campany_car(self):
"""Find all fleet.vehichle.assignation.log records that link to the employee, if there is no
end date or end date > departure date, update the date. Also check fleet.vehicle to see if
there is any record with its dirver_id to be the employee, set them to False."""
drivers = self.employee_id.user_id.partner_id | self.employee_id.sudo().address_home_id
assignations = self.env['fleet.vehicle.assignation.log'].search([('driver_id', 'in', drivers.ids)])
for assignation in assignations:
if self.departure_date and (not assignation.date_end or assignation.date_end > self.departure_date):
assignation.write({'date_end': self.departure_date})
cars = self.env['fleet.vehicle'].search([('driver_id', 'in', drivers.ids)])
cars.write({'driver_id': False, 'driver_employee_id': False})

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_departure_wizard_view_form" model="ir.ui.view">
<field name="name">hr.departure.wizard.view.form.extend2</field>
<field name="model">hr.departure.wizard</field>
<field name="inherit_id" ref="hr.hr_departure_wizard_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@id='activities_label']" position="attributes">
<attribute name="invisible">0</attribute>
</xpath>
<xpath expr="//div[@id='activities']" position="attributes">
<attribute name="invisible">0</attribute>
</xpath>
<xpath expr="//div[@id='activities']" position="inside">
<div><field name="release_campany_car"/><label for="release_campany_car" string="Company Car"/></div>
</xpath>
</field>
</record>
</odoo>