summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-12-06 12:31:41 +0100
committerXavier Morel <xmo@openerp.com>2011-12-06 12:31:41 +0100
commit41e8b3f92c74a09fbdb524ee7ecaa7c788dfd010 (patch)
tree4b81b0ea9712bc6df8c1edf2a48f80354f35027a
parent0eab577b40cb1d253915655b84923911101b72f6 (diff)
[FIX] correctly send context during graph's fields_get
lp bug: https://launchpad.net/bugs/898636 fixed bzr revid: xmo@openerp.com-20111206113141-nbfxp0jx4lrgo95g
-rw-r--r--addons/web/controllers/main.py11
-rw-r--r--addons/web/static/src/js/data.js4
-rw-r--r--addons/web_graph/static/src/js/graph.js2
3 files changed, 10 insertions, 7 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index f811f77b34c..d500ad0684e 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -778,12 +778,15 @@ class DataSet(openerpweb.Controller):
return Model.unlink(ids, req.session.eval_context(req.context))
def call_common(self, req, model, method, args, domain_id=None, context_id=None):
- domain = args[domain_id] if domain_id and len(args) - 1 >= domain_id else []
- context = args[context_id] if context_id and len(args) - 1 >= context_id else {}
+ has_domain = domain_id is not None and domain_id < len(args)
+ has_context = context_id is not None and context_id < len(args)
+
+ domain = args[domain_id] if has_domain else []
+ context = args[context_id] if has_context else {}
c, d = eval_context_and_domain(req.session, context, domain)
- if domain_id and len(args) - 1 >= domain_id:
+ if has_domain:
args[domain_id] = d
- if context_id and len(args) - 1 >= context_id:
+ if has_context:
args[context_id] = c
for i in xrange(len(args)):
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js
index d9bb8149ea8..58dcb2ce5af 100644
--- a/addons/web/static/src/js/data.js
+++ b/addons/web/static/src/js/data.js
@@ -425,8 +425,8 @@ openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet
return this.rpc('/web/dataset/call', {
model: this.model,
method: method,
- domain_id: domain_index || null,
- context_id: context_index || null,
+ domain_id: domain_index == undefined ? null : domain_index,
+ context_id: context_index == undefined ? null : context_index,
args: args || []
}, callback, error_callback);
},
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index f940cac8b0b..aa71dd9e25e 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -57,7 +57,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
});
}
return $.when(
- this.dataset.call('fields_get', []),
+ this.dataset.call_and_eval('fields_get', [false, {}], null, 1),
loaded)
.then(function (fields_result, view_result) {
self.fields = fields_result[0];