From 74c291ef5f588aa5aeeb371ab770b6bce2df4a89 Mon Sep 17 00:00:00 2001 From: Alvaro Fuentes Date: Mon, 30 Oct 2023 12:08:30 +0100 Subject: [PATCH] [FIX] hr_work_entry_holidays: fix dates computaiton in `write` We need to filter out records without `request_date_from` and `request_date_to` to avoid the error: ``` File "/tmp/tmpiaelju95/odoo/17.0/addons/hr_work_entry_holidays/models/hr_leave.py", line 180, in write stop = datetime.combine(max(stop_dates) + relativedelta(days=1), time.max) TypeError: '>' not supported between instances of 'datetime.date' and 'bool' ``` Issue observed in test upgrades of `l10n_hk_hr_payroll` closes odoo/odoo#140286 Signed-off-by: Sofie Gvaladze (sgv) --- addons/hr_work_entry_holidays/models/hr_leave.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/hr_work_entry_holidays/models/hr_leave.py b/addons/hr_work_entry_holidays/models/hr_leave.py index 4a907558cb7..741d37313c5 100644 --- a/addons/hr_work_entry_holidays/models/hr_leave.py +++ b/addons/hr_work_entry_holidays/models/hr_leave.py @@ -174,8 +174,8 @@ Contracts: # can lie in this range due to time zone reasons. # (We can't use date_from and date_to as they are not yet computed at # this point.) - start_dates = self.mapped('request_date_from') + [fields.Date.to_date(vals.get('request_date_from', False)) or datetime.max.date()] - stop_dates = self.mapped('request_date_to') + [fields.Date.to_date(vals.get('request_date_to', False)) or datetime.min.date()] + start_dates = self.filtered('request_date_from').mapped('request_date_from') + [fields.Date.to_date(vals.get('request_date_from', False)) or datetime.max.date()] + stop_dates = self.filtered('request_date_to').mapped('request_date_to') + [fields.Date.to_date(vals.get('request_date_to', False)) or datetime.min.date()] start = datetime.combine(min(start_dates) - relativedelta(days=1), time.min) stop = datetime.combine(max(stop_dates) + relativedelta(days=1), time.max) with self.env['hr.work.entry']._error_checking(start=start, stop=stop, skip=skip_check, employee_ids=employee_ids):