openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #00569
[Merge] lp:~openerp-dev/openobject-server/group_by_header into lp:openobject-server
tfr (Openerp) has proposed merging lp:~openerp-dev/openobject-server/group_by_header into lp:openobject-server.
Requested reviews:
OpenERP Core Team (openerp)
Improvement for gtk client show how many item in the group when group by
Seems compatible with web client
--
https://code.launchpad.net/~openerp-dev/openobject-server/group_by_header/+merge/41312
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/group_by_header.
=== modified file 'bin/osv/orm.py'
--- bin/osv/orm.py 2010-11-19 07:27:50 +0000
+++ bin/osv/orm.py 2010-11-19 14:03:01 +0000
@@ -2243,7 +2243,7 @@
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'):
@@ -2273,7 +2273,9 @@
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():
Follow ups