diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-07-14 11:56:19 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-07-14 11:56:19 +0200 |
| commit | c6bcc855e19cfd77e6b5b7d6577825726553644b (patch) | |
| tree | f49f06d58f1c4f2a12a7ad99422cf381975cd32c /addons/base/static/src/js/data.js | |
| parent | 7c9ec513b1f7aaf7edb86bd9ea4c0dac2f61d801 (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.js | 8 |
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); + } }); }, /** |
