[ADD]allow_negative_leave_and_allocation:allow negative leave
This commit is contained in:
1
allow_negative_leave_and_allocation/models/__init__.py
Normal file
1
allow_negative_leave_and_allocation/models/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import hr_leave_type, hr_leave
|
16
allow_negative_leave_and_allocation/models/hr_leave.py
Normal file
16
allow_negative_leave_and_allocation/models/hr_leave.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
# Copyright (c) 2005-2006 Axelor SARL. (http://www.axelor.com)
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
class HrLeave(models.Model):
|
||||
_inherit = "hr.leave"
|
||||
|
||||
@api.constrains('state', 'number_of_days', 'holiday_status_id')
|
||||
def _check_holidays(self):
|
||||
for holiday in self:
|
||||
if holiday.holiday_status_id.allows_negative:
|
||||
continue
|
||||
super()._check_holidays()
|
20
allow_negative_leave_and_allocation/models/hr_leave_type.py
Normal file
20
allow_negative_leave_and_allocation/models/hr_leave_type.py
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class HolidaysType(models.Model):
|
||||
_inherit = "hr.leave.type"
|
||||
|
||||
# negative time off
|
||||
allows_negative = fields.Boolean(string='Allow Negative Cap',
|
||||
help="If checked, users request can exceed the allocated days and balance can go in negative.")
|
||||
|
||||
@api.depends('requires_allocation')
|
||||
def _compute_valid(self):
|
||||
res = super()._compute_valid()
|
||||
for holiday_type in res:
|
||||
if not holiday_type.has_valid_allocation:
|
||||
holiday_type.has_valid_allocation = holiday_type.allows_negative
|
Reference in New Issue
Block a user