From 5d67b0fe7430344d3ba9f44a6e65c406625422c2 Mon Sep 17 00:00:00 2001 From: "RGA (OpenERP)" Date: Thu, 11 Nov 2010 16:34:20 +0530 Subject: [PATCH] [IMP] group by header should display how many children it has bzr revid: rga@tinyerp.com-20101111110420-ay27xo0a5g98f7aq --- bin/osv/orm.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 2b7fe0ce989..2f29d413e31 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2240,7 +2240,7 @@ class orm(orm_template): fget = self.fields_get(cr, uid, fields) float_int_fields = filter(lambda x: fget[x]['type'] in ('float', 'integer'), fields) flist = '' - group_by = groupby + group_count = group_by = groupby if groupby: if fget.get(groupby): if fget[groupby]['type'] in ('date', 'datetime'): @@ -2270,7 +2270,9 @@ class orm(orm_template): where_clause = where_clause and ' WHERE ' + where_clause limit_str = limit and ' limit %d' % limit or '' offset_str = offset and ' offset %d' % offset or '' - cr.execute('SELECT min(%s.id) AS id,' % self._table + flist + ' FROM ' + from_clause + where_clause + gb + limit_str + offset_str, where_clause_params) + if len(groupby_list) < 2 and context.get('group_by_no_leaf'): + group_count = '_' + cr.execute('SELECT min(%s.id) AS id, count(%s.id) AS %s_count, ' % (self._table, self._table, group_count) + flist + ' FROM ' + from_clause + where_clause + gb + limit_str + offset_str, where_clause_params) alldata = {} groupby = group_by for r in cr.dictfetchall():