[FIX] read_group has been changed to return the results with field:interval as key (for example, date_deadline:week), to avoid name collisions. This commit changes the web client to make sure it properly processes the new result format. No change at all for queries that do not use the field:interval format (addon web)
bzr revid: ged@openerp.com-20140403143534-3jpugw9g8n966n9t
This commit is contained in:
parent
0d4732b5c4
commit
9d915db214
|
@ -238,31 +238,26 @@ instance.web.QueryGroup = instance.web.Class.extend({
|
||||||
{__context: {group_by: []}, __domain: []},
|
{__context: {group_by: []}, __domain: []},
|
||||||
read_group_group);
|
read_group_group);
|
||||||
|
|
||||||
var raw_fields = _.map(grouping_fields, function (field) {
|
var count_key = (grouping_fields[0] && grouping_fields[0].split(':')[0]) + '_count';
|
||||||
return field && field.split(':')[0];
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
var aggregates = {};
|
var aggregates = {};
|
||||||
_(fixed_group).each(function (value, key) {
|
_(fixed_group).each(function (value, key) {
|
||||||
if (key.indexOf('__') === 0
|
if (key.indexOf('__') === 0
|
||||||
|| _.contains(raw_fields, key)
|
|| _.contains(grouping_fields, key)
|
||||||
|| (key === raw_fields[0] + '_count')) {
|
|| (key === count_key)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
aggregates[key] = value || 0;
|
aggregates[key] = value || 0;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
this.model = new instance.web.Model(
|
this.model = new instance.web.Model(
|
||||||
model, fixed_group.__context, fixed_group.__domain);
|
model, fixed_group.__context, fixed_group.__domain);
|
||||||
|
|
||||||
var group_size = fixed_group[raw_fields[0] + '_count'] || fixed_group.__count || 0;
|
var group_size = fixed_group[count_key] || fixed_group.__count || 0;
|
||||||
var leaf_group = fixed_group.__context.group_by.length === 0;
|
var leaf_group = fixed_group.__context.group_by.length === 0;
|
||||||
|
|
||||||
var value = (grouping_fields.length === 1)
|
var value = (grouping_fields.length === 1)
|
||||||
? fixed_group[raw_fields[0]]
|
? fixed_group[grouping_fields[0]]
|
||||||
: _.map(raw_fields, function (field) { return fixed_group[field]; });
|
: _.map(grouping_fields, function (field) { return fixed_group[field]; });
|
||||||
var grouped_on = (grouping_fields.length === 1)
|
var grouped_on = (grouping_fields.length === 1)
|
||||||
? grouping_fields[0]
|
? grouping_fields[0]
|
||||||
: grouping_fields;
|
: grouping_fields;
|
||||||
|
|
Loading…
Reference in New Issue