diff options
| author | ppr-odoo <ppr@odoo.com> | 2020-11-17 21:17:52 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2020-11-17 21:17:52 +0000 |
| commit | 05c373a99a6064f08fc9eb0662ab2ccdb1978cd7 (patch) | |
| tree | 88542439b827cd416a30265d9365922dbfa981c2 /addons | |
| parent | 200ab9fdaeb9cf6f8afcf572c013e2b6cc1e70df (diff) | |
[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#57597
Taskid: 2334866
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/hr_holidays/report/hr_leave_report_calendar.py | 10 |
1 files 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) |
