summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/pyeval.js23
1 files changed, 13 insertions, 10 deletions
diff --git a/addons/web/static/src/js/pyeval.js b/addons/web/static/src/js/pyeval.js
index d5499a028b7..bad98e7b2a0 100644
--- a/addons/web/static/src/js/pyeval.js
+++ b/addons/web/static/src/js/pyeval.js
@@ -888,15 +888,9 @@
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
- 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) {
+ result = instance.web.pyeval.sync_eval_domains_and_contexts(source);
+ }
+ catch (e) {
result = { error: {
code: 400,
message: instance.web._t("Evaluation Error"),
@@ -906,9 +900,18 @@
instance.web._t("Local evaluation failure\n%s\n\n%s"),
e.message, JSON.stringify(source))
}
- }};
+ }};
}
d.resolve(result);
}, 0); });
};
+ instance.web.pyeval.sync_eval_domains_and_contexts = function (source) {
+ var contexts = ([instance.session.user_context] || []).concat(source.contexts);
+ // see Session.eval_context in Python
+ return {
+ 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 || [])
+ };
+ };
})();