summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/search_inputs.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/search_inputs.js')
-rw-r--r--addons/web/static/src/js/views/search_inputs.js12
1 files changed, 11 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/search_inputs.js b/addons/web/static/src/js/views/search_inputs.js
index 9d08a537e9d..edeffd874b0 100644
--- a/addons/web/static/src/js/views/search_inputs.js
+++ b/addons/web/static/src/js/views/search_inputs.js
@@ -341,7 +341,17 @@ var DateField = Field.extend(/** @lends instance.web.search.DateField# */{
return time.date_to_str(facetValue.get('value'));
},
complete: function (needle) {
- var m = moment(needle);
+ // Make sure the needle has a correct format before the creation of the moment object. See
+ // issue https://github.com/moment/moment/issues/1407
+ var t, v;
+ try {
+ t = (this.attrs && this.attrs.type === 'datetime') ? 'datetime' : 'date';
+ v = formats.parse_value(needle, {'widget': t});
+ } catch (e) {
+ return $.when(null);
+ }
+
+ var m = moment(v, t === 'datetime' ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD');
if (!m.isValid()) { return $.when(null); }
var d = m.toDate();
var date_string = formats.format_value(d, this.attrs);