[IMP] Report model: added an 'eval_params' method that will convert a dict originated from jquery.param into a python dict
bzr revid: openerp-sle@openerp-sle.home-20140213173709-c8pzw0htrj0il53z
This commit is contained in:
parent
305896b598
commit
488e8390c6
|
@ -23,6 +23,7 @@ from openerp.addons.web.http import request
|
||||||
from openerp.osv import osv
|
from openerp.osv import osv
|
||||||
from openerp.osv.fields import float as float_field, function as function_field, datetime as datetime_field
|
from openerp.osv.fields import float as float_field, function as function_field, datetime as datetime_field
|
||||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
|
from openerp.tools.translate import _
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
@ -204,11 +205,16 @@ class report(osv.Model):
|
||||||
context = {}
|
context = {}
|
||||||
|
|
||||||
if datas is None:
|
if datas is None:
|
||||||
context = {}
|
datas = {}
|
||||||
|
|
||||||
report_obj = self.pool.get('ir.actions.report.xml')
|
report_obj = self.pool.get('ir.actions.report.xml')
|
||||||
idreport = report_obj.search(cr, uid, [('report_name', '=', report_name)], context=context)
|
idreport = report_obj.search(cr, uid, [('report_name', '=', report_name)], context=context)
|
||||||
report = report_obj.browse(cr, uid, idreport[0], context=context)
|
|
||||||
|
try:
|
||||||
|
report = report_obj.browse(cr, uid, idreport[0], context=context)
|
||||||
|
except IndexError:
|
||||||
|
raise osv.except_osv(_('Bad Report'),
|
||||||
|
_('This report is not loaded into the database.'))
|
||||||
|
|
||||||
action = {
|
action = {
|
||||||
'type': 'ir.actions.report.xml',
|
'type': 'ir.actions.report.xml',
|
||||||
|
@ -216,7 +222,29 @@ class report(osv.Model):
|
||||||
'report_type': report.report_type,
|
'report_type': report.report_type,
|
||||||
}
|
}
|
||||||
|
|
||||||
if datas.get('datas'):
|
if datas:
|
||||||
action['datas'] = datas
|
action['datas'] = datas
|
||||||
|
|
||||||
return action
|
return action
|
||||||
|
|
||||||
|
def eval_params(self, dict_param):
|
||||||
|
"""Parse a dictionary generated from the webclient into a dictionary understandable by a
|
||||||
|
wizard controller.
|
||||||
|
"""
|
||||||
|
for key, value in dict_param.iteritems():
|
||||||
|
if value.lower() == 'false':
|
||||||
|
dict_param[key] = False
|
||||||
|
elif value.lower() == 'true':
|
||||||
|
dict_param[key] = True
|
||||||
|
elif ',' in value or '%2C' in value:
|
||||||
|
dict_param[key] = [int(i) for i in value.split(',')]
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
i = int(value)
|
||||||
|
dict_param[key] = i
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
data['form'] = dict_param
|
||||||
|
return data
|
||||||
|
|
Loading…
Reference in New Issue