mirror of
https://gitlab.com/sonalarora/tra_backend.git
synced 2025-12-27 18:54:06 +02:00
add new module
This commit is contained in:
39
hr_gratuity_settlement/models/hr_employee.py
Normal file
39
hr_gratuity_settlement/models/hr_employee.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from odoo import fields, models
|
||||
from odoo.osv import expression
|
||||
|
||||
|
||||
class HrEmployeeProbation(models.Model):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
def generate_work_entries(self, date_start, date_stop):
|
||||
"""
|
||||
function is used for Generate work entries When
|
||||
Contract State in Probation,Running,Expired
|
||||
|
||||
"""
|
||||
date_start = fields.Date.to_date(date_start)
|
||||
date_stop = fields.Date.to_date(date_stop)
|
||||
|
||||
if self:
|
||||
current_contracts = self._get_contracts(date_start, date_stop, states=['probation', 'open', 'close'])
|
||||
else:
|
||||
current_contracts = self._get_all_contracts(date_start, date_stop, states=['probation', 'open', 'close'])
|
||||
|
||||
return bool(current_contracts._generate_work_entries(date_start, date_stop))
|
||||
|
||||
# override the existing function for considering the probation contracts
|
||||
def _get_contracts(self, date_from, date_to, states=['open', 'probation'], kanban_state=False):
|
||||
"""
|
||||
Returns the contracts of the employee between date_from and date_to
|
||||
"""
|
||||
state_domain = [('state', 'in', states)]
|
||||
if kanban_state:
|
||||
state_domain = expression.AND([state_domain, [('kanban_state', 'in', kanban_state)]])
|
||||
|
||||
return self.env['hr.contract'].search(
|
||||
expression.AND([[('employee_id', 'in', self.ids)],
|
||||
state_domain,
|
||||
[('date_start', '<=', date_to),
|
||||
'|',
|
||||
('date_end', '=', False),
|
||||
('date_end', '>=', date_from)]]))
|
||||
Reference in New Issue
Block a user