diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-05-13 14:08:51 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-05-13 14:08:51 +0200 |
| commit | 7f2a9e77b6dbe65e3977f8a3b15de1785bc5d7d3 (patch) | |
| tree | 9a6232b1dcf1f0435b1332c126a8d9cfdc683e64 /addons/web/static/src/js/views | |
| parent | 89873cbed5fb31547843a7a135145d46986431af (diff) | |
| parent | dcab356b38aad5d6c7940c0211a3a940a8be9a65 (diff) | |
[MERGE] forward port of branch 9.0 up to dcab356
Diffstat (limited to 'addons/web/static/src/js/views')
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 8 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/search_inputs.js | 12 |
2 files changed, 18 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index 1214f6e2ce3..b33177eb1d5 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -455,7 +455,13 @@ var FieldCharDomain = common.AbstractField.extend(common.ReinitializeFieldMixin, if (this.get('value')) { var model = this.options.model || this.field_manager.get_field_value(this.options.model_field); - var domain = pyeval.eval('domain', this.get('value')); + try{ + var domain = pyeval.eval('domain', this.get('value')); + } + catch(e){ + this.do_warn(_t('Error: Bad domain'), _t('The domain is wrong.')); + return; + } var ds = new data.DataSetStatic(self, model, self.build_context()); ds.call('search_count', [domain]).then(function (results) { self.$('.o_count').text(results + _t(' selected records')); 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); |
