[ADD]allow_negative_leave_and_allocation:allow negative leave

This commit is contained in:
2024-12-17 12:14:56 +01:00
committed by Stéphan Sainléger
parent beb64d034d
commit 3b310c4f9d
10 changed files with 822 additions and 0 deletions

View File

@@ -0,0 +1 @@
from . import hr_leave_type, hr_leave

View 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()

View 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