[FIX] base_report_creator: fix searching with *like operators
authorXavier ALT <xal@openerp.com>
Fri, 27 Apr 2012 07:33:53 +0000 (09:33 +0200)
committerXavier ALT <xal@openerp.com>
Fri, 27 Apr 2012 07:33:53 +0000 (09:33 +0200)
bzr revid: xal@openerp.com-20120427073353-igngz10jr9m4qv2p

addons/base_report_creator/base_report_creator.py

index 70b1379..e3b7fdb 100644 (file)
@@ -204,7 +204,11 @@ class report_result(osv.osv):
             for a in args:
                 if fields[a[0]][0]:
                     model = self.pool.get(fields[a[0]][0])
-                    newargs.append(str(model._table+"."+fields[a[0]][1] + " " +a[1] + " '" + a[2])+"'")
+                    if a[1] in ('like', 'ilike', 'not like', 'not ilike'):
+                        right = '%%%s%%' % (a[2],)
+                    else:
+                        right = a[2]
+                    newargs.append(str(model._table+"."+fields[a[0]][1] + " " +a[1] + " '" + right)+"'")
             ctx = context or {}
             ctx['getid'] = True
             report_pool = self.pool.get('base_report_creator.report')