summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/lib/tempusdominus/tempusdominus.js2
-rw-r--r--addons/web/static/src/js/public/public_root.js11
-rw-r--r--addons/website/static/src/js/menu/content.js9
3 files changed, 21 insertions, 1 deletions
diff --git a/addons/web/static/lib/tempusdominus/tempusdominus.js b/addons/web/static/lib/tempusdominus/tempusdominus.js
index 80619bfe2da..6a1d9544fec 100644
--- a/addons/web/static/lib/tempusdominus/tempusdominus.js
+++ b/addons/web/static/lib/tempusdominus/tempusdominus.js
@@ -490,7 +490,7 @@ var DateTimePicker = function ($, moment) {
DateTimePicker.prototype._change = function _change(e) {
var val = $(e.target).val().trim(),
parsedDate = val ? this._parseInputDate(val) : null;
- this._setValue(parsedDate);
+ this._setValue(parsedDate, 0); // Odoo FIX: if a valid date is replaced by an invalid one, lib will crash, see https://github.com/tempusdominus/bootstrap-4/issues/223
e.stopImmediatePropagation();
return false;
};
diff --git a/addons/web/static/src/js/public/public_root.js b/addons/web/static/src/js/public/public_root.js
index f684df2b629..93e1c4fd92e 100644
--- a/addons/web/static/src/js/public/public_root.js
+++ b/addons/web/static/src/js/public/public_root.js
@@ -84,6 +84,8 @@ var PublicRoot = publicWidget.RootWidget.extend({
$('input, textarea').placeholder();
}
+ this.$el.children().on('error.datetimepicker', this._onDateTimePickerError.bind(this));
+
return Promise.all(defs);
},
@@ -316,6 +318,15 @@ var PublicRoot = publicWidget.RootWidget.extend({
_onDisableOnClick: function (ev) {
$(ev.currentTarget).addClass('disabled');
},
+ /**
+ * Library clears the wrong date format so just ignore error
+ *
+ * @private
+ * @param {Event} ev
+ */
+ _onDateTimePickerError: function (ev) {
+ return false;
+ },
});
return {
diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js
index dac8087bd73..4ba5eb664e7 100644
--- a/addons/website/static/src/js/menu/content.js
+++ b/addons/website/static/src/js/menu/content.js
@@ -25,6 +25,7 @@ var PagePropertiesDialog = weWidgets.Dialog.extend({
'click input#visibility_password': '_onPasswordClicked',
'change input#visibility_password': '_onPasswordChanged',
'change select#visibility': '_onVisibilityChanged',
+ 'error.datetimepicker': '_onDateTimePickerError',
}),
/**
@@ -425,6 +426,14 @@ var PagePropertiesDialog = weWidgets.Dialog.extend({
this.$('#visibility_password').attr('required', ev.target.value === 'password');
},
/**
+ * Library clears the wrong date format so just ignore error
+ *
+ * @private
+ */
+ _onDateTimePickerError: function (ev) {
+ return false;
+ },
+ /**
* @private
*/
_onPasswordClicked: function (ev) {