diff options
| author | Jeremy Kersten <jke@odoo.com> | 2015-04-24 12:14:17 +0200 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2015-04-24 12:20:47 +0200 |
| commit | f134387531fbffd1101f025dae1187c8bfd71ae3 (patch) | |
| tree | 1f707136290f6dc2a61f8ddb4ab205da4e4d9da7 /addons | |
| parent | 02fba3b596d64537169572fdcd0cc2cada18e2a5 (diff) | |
[FIX] website_crm_score: avoid traceback when domain filter cannot evaluate the tem_user domain.
Now, we manage more case:
Domain with tuple like [('country_id', '=', 'Belgium')]
Domain with Boolean Value like [('country_id', '=', False)]
If domain cannot be evaluate we display error in the filter
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/website_crm_score/static/src/js/display_filters.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/addons/website_crm_score/static/src/js/display_filters.js b/addons/website_crm_score/static/src/js/display_filters.js index 020b7d7d46c..95428ff1e5c 100644 --- a/addons/website_crm_score/static/src/js/display_filters.js +++ b/addons/website_crm_score/static/src/js/display_filters.js @@ -23,14 +23,25 @@ openerp.website_crm_score = function(instance) { var val = this.field.raw_value; var self = this; if (val) { - val = eval(val); + // This widget is temporary + // To keep only while the widget domain filter doesn't exist ! + + // Ugly hack to have (more) python domains which can be evaluated in JS + val = val.replace('(', '[').replace(')', ']').replace('False', 'false').replace('True', 'true') + try { + val = eval(val); + } + catch(err) { + // don't block UI if domain is not evaluable in JS + console.debug(err.message); + val = [['error','=', err.message]]; + } if (val.length <= this.MAX_LEN) { var i = 0; while (i < val.length) { var res = this.interpret(val, i); i = res[0]; var $span = res[1]; - // var $span = '<h2>' + res[1] + '</h2>'; self.$el.append($span); } } |
