From e0109a983c28c811186df01f5fe5d350dd21c910 Mon Sep 17 00:00:00 2001 From: "Levi Siuzdak (sile)" Date: Tue, 2 Apr 2024 11:12:34 +0200 Subject: [PATCH] [FIX] hr_homeworking: avoid using FullCalendar api for location record Versions -------- - 17.0 - saas-17.1 Steps ----- 1. Have `calendar` and `hr_homeworking` installed; 2. go to Calendar; 3. try to set a location by clicking on a date column. Issue ----- Odoo Client Error. Cause ----- The `onDayRender` function calls `onDateClick` to create a record, passing an `info` object lacking the `jsEvent` attribute. Solution -------- Use `this.props.createRecord` instead. closes odoo/odoo#159060 Signed-off-by: Sofie Gvaladze (sgv) --- .../static/src/calendar/common/calendar_common_renderer.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/hr_homeworking/static/src/calendar/common/calendar_common_renderer.js b/addons/hr_homeworking/static/src/calendar/common/calendar_common_renderer.js index c49b35711ea..7a3b0096611 100644 --- a/addons/hr_homeworking/static/src/calendar/common/calendar_common_renderer.js +++ b/addons/hr_homeworking/static/src/calendar/common/calendar_common_renderer.js @@ -98,8 +98,8 @@ patch(AttendeeCalendarCommonRenderer.prototype, { if (!button || !line) return; info.homework = true; - button.onclick = () =>this.onDateClick(info) - line.onclick = () =>this.onDateClick(info) + button.onclick = () => this.props.createRecord(this.fcEventToRecord(info)); + line.onclick = () => this.props.createRecord(this.fcEventToRecord(info)); } if (this.props.model.scale === 'month'){ const box = info.view.el.querySelector(`.fc-day-top[data-date='${parsedDate}']`) @@ -180,7 +180,7 @@ patch(AttendeeCalendarCommonRenderer.prototype, { } }, onDateClick(info){ - if (info.jsEvent && info.jsEvent.target.closest(".o_worklocation_btn")) { + if (info.jsEvent.target.closest(".o_worklocation_btn")) { info.homework = true this.props.createRecord(this.fcEventToRecord(info)); } else {