diff --git a/addons/hr_holidays/static/src/views/calendar/calendar_model.js b/addons/hr_holidays/static/src/views/calendar/calendar_model.js index 17cc0b89a0c..baf496de1df 100644 --- a/addons/hr_holidays/static/src/views/calendar/calendar_model.js +++ b/addons/hr_holidays/static/src/views/calendar/calendar_model.js @@ -1,7 +1,12 @@ /** @odoo-module */ import { CalendarModel } from '@web/views/calendar/calendar_model'; -import { deserializeDateTime, serializeDate, serializeDateTime } from "@web/core/l10n/dates"; +import { + deserializeDate, + deserializeDateTime, + serializeDate, + serializeDateTime, +} from "@web/core/l10n/dates"; export class TimeOffCalendarModel extends CalendarModel { setup(params, services) { @@ -31,14 +36,18 @@ export class TimeOffCalendarModel extends CalendarModel { context["default_employee_id"] = this.employeeId; } + function deserialize(str) { + // "YYYY-MM-DD".length == 10 + return str.length > 10 ? deserializeDateTime(str) : deserializeDate(str); + } if ("default_date_from" in context) { context["default_date_from"] = serializeDateTime( - deserializeDateTime(context["default_date_from"]).set({ hours: 7 }) + deserialize(context["default_date_from"]).set({ hours: 7 }) ); } if ("default_date_to" in context) { context["default_date_to"] = serializeDateTime( - deserializeDateTime(context["default_date_to"]).set({ hours: 19 }) + deserialize(context["default_date_to"]).set({ hours: 19 }) ); } return context;