diff options
Diffstat (limited to 'addons/website/static/src')
| -rw-r--r-- | addons/website/static/src/js/menu/content.js | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js index 2221eba4024..a4145c41241 100644 --- a/addons/website/static/src/js/menu/content.js +++ b/addons/website/static/src/js/menu/content.js @@ -147,7 +147,7 @@ var PagePropertiesDialog = widget.Dialog.extend({ }, }; if (self.page.date_publish) { - datepickersOptions.defaultDate = self.page.date_publish; + datepickersOptions.defaultDate = time.str_to_datetime(self.page.date_publish); } this.$("#date_publish_container").datetimepicker(datepickersOptions); @@ -174,9 +174,15 @@ var PagePropertiesDialog = widget.Dialog.extend({ var context = weContext.get(); var url = $(".o_page_management_info #page_url").val(); - var date_publish = $(".o_page_management_info #date_publish").val(); + var $date_publish = $(".o_page_management_info #date_publish"); + $date_publish.closest(".form-group").removeClass('has-error'); + var date_publish = $date_publish.val(); if (date_publish != "") { - date_publish = time.datetime_to_str(new Date(date_publish)); + date_publish = this._parse_date(date_publish); + if (!date_publish) { + $date_publish.closest(".form-group").addClass('has-error'); + return; + } } var params = { id: self.page.id, @@ -271,6 +277,28 @@ var PagePropertiesDialog = widget.Dialog.extend({ id: m[2] | 0, }; }, + /** + * Converts a string representing the browser datetime + * (exemple: Albanian: '2018-Qer-22 15.12.35.') + * to a string representing UTC in Odoo's datetime string format + * (exemple: '2018-04-22 13:12:35'). + * + * The time zone of the datetime string is assumed to be the one of the + * browser and it will be converted to UTC (standard for Odoo). + * + * @private + * @param {String} value A string representing a datetime. + * @returns {String|false} A string representing an UTC datetime if the given value is valid, false otherwise. + */ + _parse_date: function (value) { + var datetime = moment(value, time.getLangDatetimeFormat(), true); + if (datetime.isValid()) { + return time.datetime_to_str(datetime.toDate()); + } + else { + return false; + } + }, //-------------------------------------------------------------------------- // Handlers |
