Files
tra_backend/hr_gratuity_settlement/models/hr_employee.py
2020-07-21 10:09:46 +00:00

40 lines
1.6 KiB
Python

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)]]))