[IMP] report_qr: Allow to use SVG as output

This commit is contained in:
David
2019-09-19 14:26:53 +02:00
committed by Kiplangat Dan
parent ccdc3d7b6c
commit 4eb117ba48
3 changed files with 32 additions and 5 deletions

View File

@@ -6,12 +6,16 @@ from odoo.http import request
class Home(http.Controller):
@http.route('/report/qr', type='http', auth="public")
def report_qr(self, value, box_size=3, border=3, **kwargs):
def report_qr(self, value, box_size=3, border=3, factory='png', **kwargs):
try:
barcode = request.env['ir.actions.report'].qr_generate(
value, box_size=box_size, border=border, **kwargs)
value, box_size=box_size, border=border,
factory=factory, **kwargs)
except (ValueError, AttributeError):
raise werkzeug.exceptions.HTTPException(
description='Cannot convert into barcode.')
if factory != 'png':
return request.make_response(
barcode, headers=[('Content-Type', 'image/svg+xml')])
return request.make_response(
barcode, headers=[('Content-Type', 'image/png')])