diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-07-06 16:25:36 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-07-06 16:25:36 +0200 |
| commit | f7a47fe58cfe856e57a1417271e3a81d22afd7e6 (patch) | |
| tree | b6fea85643448c8f2d58e495fb6bdb1cb314980f /addons/base/static/src/js/data.js | |
| parent | 433f2fb5fce473550d35871f12b0e60460d6486c (diff) | |
| parent | 1847dbc017ca226ce3e5276489474e686cc2ac8d (diff) | |
[MERGE] from trunk, in order to get some dataset & groupby fixes
bzr revid: xmo@openerp.com-20110706142536-dwxuq2v10u660703
Diffstat (limited to 'addons/base/static/src/js/data.js')
| -rw-r--r-- | addons/base/static/src/js/data.js | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index f7fc1a24dc6..3df9679e1c5 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -135,7 +135,7 @@ openerp.base.ContainerDataGroup = openerp.base.DataGroup.extend( domain: this.domain, group_by_fields: this.group_by }, function () { }).then(function (response) { - var data_groups = _(response.result).map( + var data_groups = _(response).map( _.bind(self.transform_group, self)); self.groups = data_groups; d.resolveWith(self, [data_groups]); @@ -196,7 +196,9 @@ openerp.base.GrouplessDataGroup = openerp.base.DataGroup.extend( this._super(session, model, domain, context, null, level); }, list: function (ifGroups, ifRecords) { - ifRecords(new openerp.base.DataSetSearch(this.session, this.model, this.context, this.domain)); + ifRecords(_.extend( + new openerp.base.DataSetSearch(this.session, this.model), + {domain: this.domain, context: this.context})); } }); @@ -429,13 +431,10 @@ openerp.base.DataSetSearch = openerp.base.DataSet.extend({ sort: this.sort(), offset: offset, limit: limit - }, function (records) { - self.ids.splice(0, self.ids.length); + }, function (result) { + self.ids = result.ids; self.offset = offset; - for (var i=0; i < records.length; i++ ) { - self.ids.push(records[i].id); - } - callback(records); + callback(result.records); }); }, /** @@ -491,7 +490,6 @@ openerp.base.BufferedDataSet = openerp.base.DataSetStatic.extend({ var cached = {id:_.uniqueId(this.virtual_id_prefix), values: data}; this.to_create.push(cached); this.cache.push(cached); - this.on_change(); var to_return = $.Deferred().then(callback); setTimeout(function() {to_return.resolve({result: cached.id});}, 0); return to_return.promise(); |
