← Back to team overview

openerp-dev-web team mailing list archive

[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