From 576a33bc4ff87f51623e415ae7cd64f5b4c29548 Mon Sep 17 00:00:00 2001 From: William Braeckman Date: Fri, 21 May 2021 10:00:01 +0000 Subject: [PATCH] [IMP] hr_work_entry_holidays: half day outside of working hours Fixes taking a hald day outside of working hours counting as half a day instead of nothing. See odoo/odoo#68977 closes odoo/odoo#74015 X-original-commit: 7ad9af5b6fd3086d280b42f6769c66d579dd7f5f Signed-off-by: Yannick Tivisse (yti) Signed-off-by: William Braeckman (wbr) --- addons/hr_work_entry_holidays/models/hr_leave.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/hr_work_entry_holidays/models/hr_leave.py b/addons/hr_work_entry_holidays/models/hr_leave.py index b8ceef67556..291f5ceb043 100644 --- a/addons/hr_work_entry_holidays/models/hr_leave.py +++ b/addons/hr_work_entry_holidays/models/hr_leave.py @@ -200,7 +200,10 @@ class HrLeave(models.Model): contracts = employee.sudo()._get_contracts(date_from, date_to, states=['open']) contracts |= employee.sudo()._get_incoming_contracts(date_from, date_to) calendar = contracts[:1].resource_calendar_id if contracts else None # Note: if len(contracts)>1, the leave creation will crash because of unicity constaint - return employee._get_work_days_data_batch(date_from, date_to, calendar=calendar)[employee.id] + result = employee._get_work_days_data_batch(date_from, date_to, calendar=calendar)[employee.id] + if self.request_unit_half and result['hours'] > 0: + result['days'] = 0.5 + return result return days