summaryrefslogtreecommitdiff
path: root/addons/report/controllers/main.py
diff options
context:
space:
mode:
authorSimon Lejeune <sle@openerp.com>2014-03-21 11:58:06 +0100
committerSimon Lejeune <sle@openerp.com>2014-03-21 11:58:06 +0100
commit57e6e8fd282a385cba17ca9dcd8b77cd2bb6446b (patch)
tree8d11f81f177cda9ea5d0d8a2e06d0ae19826d503 /addons/report/controllers/main.py
parent246ec6854bafebdd5b81afd0ca131dae6e949801 (diff)
[FIX] Multiples fixes: correct context passing, changed osv.Model to osv.AbstractModel to avoid creating tables in database when the model use for the reports contains only method
bzr revid: sle@openerp.com-20140321105806-0bwo992995la91fe
Diffstat (limited to 'addons/report/controllers/main.py')
-rw-r--r--addons/report/controllers/main.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/addons/report/controllers/main.py b/addons/report/controllers/main.py
index 672cae81f77..c843d92044e 100644
--- a/addons/report/controllers/main.py
+++ b/addons/report/controllers/main.py
@@ -32,13 +32,12 @@ class ReportController(Controller):
#------------------------------------------------------
# Generic reports controller
#------------------------------------------------------
-
- @route(['/report/<reportname>/<docids>'], type='http', auth='user', website=True, multilang=True)
+ @route('/report/<reportname>/<docids>', type='http', auth='user', website=True, multilang=True)
def report_html(self, reportname, docids):
cr, uid, context = request.cr, request.uid, request.context
return request.registry['report'].get_html(cr, uid, docids, reportname, context=context)
- @route(['/report/pdf/report/<reportname>/<docids>'], type='http', auth="user", website=True)
+ @route('/report/pdf/report/<reportname>/<docids>', type='http', auth="user", website=True)
def report_pdf(self, reportname, docids):
cr, uid, context = request.cr, request.uid, request.context
pdf = request.registry['report'].get_pdf(cr, uid, docids, reportname, context=context)
@@ -48,15 +47,14 @@ class ReportController(Controller):
#------------------------------------------------------
# Particular reports controller
#------------------------------------------------------
-
- @route(['/report/<reportname>'], type='http', auth='user', website=True, multilang=True)
+ @route('/report/<reportname>', type='http', auth='user', website=True, multilang=True)
def report_html_particular(self, reportname, **data):
cr, uid, context = request.cr, request.uid, request.context
report_obj = request.registry['report']
data = report_obj.eval_params(data) # Sanitizing
return report_obj.get_html(cr, uid, [], reportname, data=data, context=context)
- @route(['/report/pdf/report/<reportname>'], type='http', auth='user', website=True, multilang=True)
+ @route('/report/pdf/report/<reportname>', type='http', auth='user', website=True, multilang=True)
def report_pdf_particular(self, reportname, **data):
cr, uid, context = request.cr, request.uid, request.context
report_obj = request.registry['report']
@@ -66,15 +64,15 @@ class ReportController(Controller):
return request.make_response(pdf, headers=pdfhttpheaders)
#------------------------------------------------------
- # Misc. utils
+ # Misc. route utils
#------------------------------------------------------
-
@route(['/report/barcode', '/report/barcode/<type>/<path:value>'], type='http', auth="user")
def report_barcode(self, type, value, width=300, height=50):
"""Contoller able to render barcode images thanks to reportlab.
Samples:
<img t-att-src="'/report/barcode/QR/%s' % o.name"/>
- <img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' % ('QR', o.name, 200, 200)"/>
+ <img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' %
+ ('QR', o.name, 200, 200)"/>
:param type: Accepted types: 'Codabar', 'Code11', 'Code128', 'EAN13', 'EAN8', 'Extended39',
'Extended93', 'FIM', 'I2of5', 'MSI', 'POSTNET', 'QR', 'Standard39', 'Standard93',
@@ -112,9 +110,8 @@ class ReportController(Controller):
else:
# Particular report:
querystring = url.split('?')[1]
- querystring = urlparse.parse_qsl(querystring)
- dict_querystring = dict(querystring)
- response = self.report_pdf_particular(reportname, **dict_querystring)
+ querystring = dict(urlparse.parse_qsl(querystring))
+ response = self.report_pdf_particular(reportname, **querystring)
response.headers.add('Content-Disposition', 'attachment; filename=%s.pdf;' % reportname)
response.set_cookie('fileToken', token)