summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js/data.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-07-14 11:56:19 +0200
committerXavier Morel <xmo@openerp.com>2011-07-14 11:56:19 +0200
commitc6bcc855e19cfd77e6b5b7d6577825726553644b (patch)
treef49f06d58f1c4f2a12a7ad99422cf381975cd32c /addons/base/static/src/js/data.js
parent7c9ec513b1f7aaf7edb86bd9ea4c0dac2f61d801 (diff)
[FIX] DataSet.read_slice needs to return the relevant deferred so callers can add new callbacks or use $.when multiplexing
bzr revid: xmo@openerp.com-20110714095619-4owz98azxy9xkpi0
Diffstat (limited to 'addons/base/static/src/js/data.js')
-rw-r--r--addons/base/static/src/js/data.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js
index b01ceeaed5c..c1b64b93307 100644
--- a/addons/base/static/src/js/data.js
+++ b/addons/base/static/src/js/data.js
@@ -396,7 +396,7 @@ openerp.base.DataSetStatic = openerp.base.DataSet.extend({
var self = this;
offset = offset || 0;
var end_pos = limit && limit !== -1 ? offset + limit : undefined;
- this.read_ids(this.ids.slice(offset, end_pos), fields, callback);
+ return this.read_ids(this.ids.slice(offset, end_pos), fields, callback);
},
set_ids: function (ids) {
this.ids = ids;
@@ -433,7 +433,7 @@ openerp.base.DataSetSearch = openerp.base.DataSet.extend({
// return read_ids(ids.slice(start,start+limit),fields,callback)
}
}
- this.rpc('/base/dataset/search_read', {
+ return this.rpc('/base/dataset/search_read', {
model: this.model,
fields: fields,
domain: this.domain,
@@ -444,7 +444,9 @@ openerp.base.DataSetSearch = openerp.base.DataSet.extend({
}, function (result) {
self.ids = result.ids;
self.offset = offset;
- callback(result.records);
+ if (callback) {
+ callback(result.records);
+ }
});
},
/**