summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorppr-odoo <ppr@odoo.com>2020-11-17 21:17:52 +0000
committerYannick Tivisse <yti@odoo.com>2020-11-17 21:17:52 +0000
commit05c373a99a6064f08fc9eb0662ab2ccdb1978cd7 (patch)
tree88542439b827cd416a30265d9365922dbfa981c2 /addons
parent200ab9fdaeb9cf6f8afcf572c013e2b6cc1e70df (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.py10
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)