diff --git a/addons/web/static/src/js/pyeval.js b/addons/web/static/src/js/pyeval.js index 0b0e9725af9..b10c175c683 100644 --- a/addons/web/static/src/js/pyeval.js +++ b/addons/web/static/src/js/pyeval.js @@ -845,16 +845,18 @@ }; instance.web.pyeval.eval_domains_and_contexts = function (source) { return new $.Deferred(function (d) {setTimeout(function () { + var result; try { var contexts = ([instance.session.user_context] || []).concat(source.contexts); // see Session.eval_context in Python - d.resolve({ + result = { context: instance.web.pyeval.eval('contexts', contexts), domain: instance.web.pyeval.eval('domains', source.domains), group_by: instance.web.pyeval.eval('groupbys', source.group_by_seq || []) - }); + }; + } catch (e) { - d.resolve({ error: { + result = { error: { code: 400, message: instance.web._t("Evaluation Error"), data: { @@ -863,8 +865,9 @@ instance.web._t("Local evaluation failure\n%s\n\n%s"), e.message, JSON.stringify(source)) } - }}); + }}; } + d.resolve(result); }, 0); }); }; })();