Jigar Amin  (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-bug-900742-jam into 
lp:openobject-addons.

Requested reviews:
  Bhumika (OpenERP) (sbh-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/trunk-bug-900742-jam/+merge/85464

Changes - Bug fix and Wizard Wrong Variable Ref  :
 1) Fixed : Bug #900742 base_report_creator reports crash trying to filter data
    Steps to reproduce Point 2
    - Installed base_report_creator.
    - Created a very simple report with partner name and phone.
    - Create Menu For custom Report and Go to New Menu Open It.
    - Use Search view to find reocrds.

 2) Add Filter Wizard Wrong Variable Reference Name Fixed
    Steps to reproduce Point 2
     - Go to Settings/Customization/Reporting/Custom Reports 
     - Create new Custom Report With Any Model 
     - Go to "Filter on Field" Page IN Notebook and  Click to Add Filter Wizard.
Kindly Review the Fixes
Thanks

-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-900742-jam/+merge/85464
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-bug-900742-jam.
=== modified file 'base_report_creator/base_report_creator.py'
--- base_report_creator/base_report_creator.py	2011-11-08 06:32:56 +0000
+++ base_report_creator/base_report_creator.py	2011-12-13 11:04:27 +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)
 

=== modified file 'base_report_creator/wizard/wiz_set_filter_fields.py'
--- base_report_creator/wizard/wiz_set_filter_fields.py	2011-01-14 00:11:01 +0000
+++ base_report_creator/wizard/wiz_set_filter_fields.py	2011-12-13 11:04:27 +0000
@@ -150,7 +150,7 @@
 def _set_form_value(self, cr, uid, data, context):
     field_id = data['form']['field_id']
     field_data = pooler.get_pool(cr.dbname).get('ir.model.fields').read(cr,uid,[field_id])[0]
-    fields_dict = pooler.get_pool(cr.dbname).get(field_data.get('model')).fields_get(cr,uid,fields=[field_data.get('name')])
+    fields_dict = pooler.get_pool(cr.dbname).get(field_data.get('model')).fields_get(cr,uid,allfields=[field_data.get('name')])
     value_field = set_value_fields.get('value')
     for k,v in value_field.items():
         if k in ('size','relation','type'):

_______________________________________________
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