diff --git a/app/apps/common/widgets/datepicker.py b/app/apps/common/widgets/datepicker.py index 9b54840..1ddd871 100644 --- a/app/apps/common/widgets/datepicker.py +++ b/app/apps/common/widgets/datepicker.py @@ -148,9 +148,14 @@ class AirDateTimePickerInput(widgets.DateTimeInput): def format_value(self, value): """Format the value for display in the widget.""" - if value: + if value and isinstance(value, (datetime.date, datetime.datetime)): self.attrs["data-value"] = datetime.datetime.strftime( - value, "%Y-%m-%d %H:%M:00" + value, "%Y-%m-%dT%H:%M:00" + ) + elif value and isinstance(value, str): + value = datetime.datetime.strptime(value, "%Y-%m-%d %H:%M:00") + self.attrs["data-value"] = datetime.datetime.strftime( + value, "%Y-%m-%dT%H:%M:00" ) if value is None: @@ -195,6 +200,7 @@ class AirMonthYearPickerInput(AirDatePickerInput): # Add data attributes for AirDatepicker configuration attrs["data-now-button-txt"] = _("Today") + attrs["data-date-format"] = "MMMM yyyy" return attrs diff --git a/frontend/src/application/datepicker.js b/frontend/src/application/datepicker.js index df0ab94..07ff16c 100644 --- a/frontend/src/application/datepicker.js +++ b/frontend/src/application/datepicker.js @@ -163,8 +163,8 @@ window.MonthYearPicker = function createDynamicDatePicker(element) { let opts = {...baseOpts, ...positionConfig}; if (element.dataset.value) { - opts["selectedDates"] = [element.dataset.value]; - opts["startDate"] = [element.dataset.value]; + opts["selectedDates"] = [new Date(element.dataset.value + "T00:00:00")]; + opts["startDate"] = [new Date(element.dataset.value + "T00:00:00")]; } return new AirDatepicker(element, opts); };