From 1bda0da91bcdfc5a93d97c32a2733d77f54ffbcb Mon Sep 17 00:00:00 2001 From: ppr-odoo Date: Tue, 17 Nov 2020 21:17:52 +0000 Subject: [PATCH] [FIX] hr_holidays: fix traceback to add timezone Currently, Traceback occurs when we do timezone filters in every one report of time off because the timezone is non-stored compute field in hr leave model. So in this commit, get the timzone value based on compute field from resource or timezone of the current company's calendar OR user's tz and at last 'UTC'. closes odoo/odoo#61910 Taskid: 2334866 X-original-commit: 05c373a99a6064f08fc9eb0662ab2ccdb1978cd7 Signed-off-by: Yannick Tivisse (yti) --- addons/hr_holidays/report/hr_leave_report_calendar.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/hr_holidays/report/hr_leave_report_calendar.py b/addons/hr_holidays/report/hr_leave_report_calendar.py index d8f5416aaf2..0a5b45db9c6 100644 --- a/addons/hr_holidays/report/hr_leave_report_calendar.py +++ b/addons/hr_holidays/report/hr_leave_report_calendar.py @@ -38,14 +38,20 @@ class LeaveReportCalendar(models.Model): hl.date_to AS stop_datetime, hl.employee_id AS employee_id, hl.state AS state, - em.company_id AS company_id + em.company_id AS company_id, + CASE + WHEN hl.holiday_type = 'employee' THEN rr.tz + ELSE %s + END AS tz FROM hr_leave hl LEFT JOIN hr_employee em ON em.id = hl.employee_id + LEFT JOIN resource_resource rr + ON rr.id = em.resource_id WHERE hl.state IN ('confirm', 'validate', 'validate1') ORDER BY id); - """) + """, [self.env.company.resource_calendar_id.tz or self.env.user.tz or 'UTC']) def _read(self, fields): res = super()._read(fields)