Merge lp:~openerp-dev/openobject-addons/6.0-opw-516452-rgo into lp:openobject-addons/6.0

Proposed by Ravi Gohil (OpenERP)
Status: Merged
Approved by: Naresh(OpenERP)
Approved revision: no longer in the source branch.
Merged at revision: 5207
Proposed branch: lp:~openerp-dev/openobject-addons/6.0-opw-516452-rgo
Merge into: lp:openobject-addons/6.0
Diff against target: 32 lines (+11/-8)
1 file modified
base_report_creator/base_report_creator.py (+11/-8)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/6.0-opw-516452-rgo
Reviewer Review Type Date Requested Status
Naresh(OpenERP) (community) Approve
Review via email: mp+95555@code.launchpad.net

Description of the change

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.

To post a comment you must log in.
Revision history for this message
Naresh(OpenERP) (nch-openerp) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'base_report_creator/base_report_creator.py'
2--- base_report_creator/base_report_creator.py 2011-01-17 08:00:48 +0000
3+++ base_report_creator/base_report_creator.py 2012-04-27 10:05:21 +0000
4@@ -201,18 +201,21 @@
5 else:
6 fields['column_count'] = (False, 'Count')
7 newargs = []
8- newargs2 = []
9+ query_params = []
10 for a in args:
11 if fields[a[0]][0]:
12- 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)
13- newargs += res[0]
14- newargs2 += res[1]
15- else:
16- newargs += [("count(*) " + a[1] +" " + str(a[2]))]
17+ model = self.pool.get(fields[a[0]][0])
18+ if a[1] in ('like', 'ilike', 'not like', 'not ilike'):
19+ right = '%%%s%%' % (a[2],)
20+ else:
21+ right = a[2]
22+ newargs.append(str(model._table+"."+fields[a[0]][1] + " " +a[1] + " %s "))
23+ query_params.append(right)
24 ctx = context or {}
25 ctx['getid'] = True
26- sql_query = report.sql_query
27- cr.execute(sql_query) # TODO: FILTER
28+ report_pool = self.pool.get('base_report_creator.report')
29+ reports = report_pool._sql_query_get(cr, user, [context_id], 'sql_query', None, ctx, where_plus=newargs, limit=limit, offset=offset)
30+ cr.execute(reports[context_id], query_params)
31 result = cr.fetchall()
32 return map(lambda x: x[0], result)
33