summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js/data.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-07-06 16:25:36 +0200
committerXavier Morel <xmo@openerp.com>2011-07-06 16:25:36 +0200
commitf7a47fe58cfe856e57a1417271e3a81d22afd7e6 (patch)
treeb6fea85643448c8f2d58e495fb6bdb1cb314980f /addons/base/static/src/js/data.js
parent433f2fb5fce473550d35871f12b0e60460d6486c (diff)
parent1847dbc017ca226ce3e5276489474e686cc2ac8d (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.js16
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();