Ravi Gohil (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/6.0-opw-516452-rgo into 
lp:openobject-addons/6.0.

Requested reviews:
  Naresh(OpenERP) (nch-openerp)
Related bugs:
  Bug #900742 in OpenERP Addons: "base_report_creator reports crash trying to 
filter data"
  https://bugs.launchpad.net/openobject-addons/+bug/900742

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-opw-516452-rgo/+merge/95555

Hello,

Steps to reproduce the issue:

-> Installed base_report_creator.
-> Created a very simple report with partner name and phone.
-> Executed the report
-> Trying to filter data on tree by name or phone, 

This will throw a traceback.

This fixes the issue, fix is back-ported from trunk.

Kindly review this,

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-opw-516452-rgo/+merge/95555
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/6.0-opw-516452-rgo.
=== modified file 'base_report_creator/base_report_creator.py'
--- base_report_creator/base_report_creator.py	2011-01-17 08:00:48 +0000
+++ base_report_creator/base_report_creator.py	2012-03-02 13:35:22 +0000
@@ -201,18 +201,15 @@
                 else:
                     fields['column_count'] = (False, 'Count')
             newargs = []
-            newargs2 = []
             for a in args:
                 if fields[a[0]][0]:
-                    res = self.pool.get(fields[a[0]][0])._where_calc(cr, user, [[fields[a[0]][1], a[1], a[2]]], active_test = False, context = context)
-                    newargs += res[0]
-                    newargs2 += res[1]
-                else:
-                    newargs += [("count(*) " + a[1] +" " + str(a[2]))]
+                    model = self.pool.get(fields[a[0]][0])
+                    newargs.append(str(model._table+"."+fields[a[0]][1] + " " +a[1] + " '" + a[2])+"'")
             ctx = context or {}
             ctx['getid'] = True
-            sql_query = report.sql_query
-            cr.execute(sql_query) # TODO: FILTER
+            report_pool = self.pool.get('base_report_creator.report')
+            reports = report_pool._sql_query_get(cr, user, [context_id], 'sql_query', None, ctx, where_plus=newargs, limit=limit, offset=offset)
+            cr.execute(reports[context_id])
             result = cr.fetchall()
             return map(lambda x: x[0], result)
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to