[IMP] Added a simple controller to generate barcode

bzr revid: sle@openerp.com-20140219142649-5ekx9pjvje45jclv
This commit is contained in:
Simon Lejeune 2014-02-19 15:26:49 +01:00
parent 1be06b0a67
commit ac0641d21c
1 changed files with 15 additions and 0 deletions

View File

@ -37,9 +37,11 @@ except ImportError:
import StringIO
from pyPdf import PdfFileWriter, PdfFileReader
from werkzeug import exceptions
from werkzeug.test import Client
from werkzeug.wrappers import BaseResponse
from werkzeug.datastructures import Headers
from reportlab.graphics.barcode import createBarcodeImageInMemory
_logger = logging.getLogger(__name__)
@ -446,3 +448,16 @@ class Report(http.Controller):
response.set_cookie('fileToken', token)
response.headers.add('Content-Disposition', 'attachment; filename=report.pdf;')
return response
@http.route('/report/getbarcode/<type>/<value>', type='http', auth="user")
def barcode(self, type, value):
"""Accepted types: 'Codabar', 'Code11', 'Code128', 'EAN13', 'EAN8', 'Extended39',
'Extended93', 'FIM', 'I2of5', 'MSI', 'POSTNET', 'QR', 'Standard39', 'Standard93',
'UPCA', 'USPS_4State'
"""
try:
barcode = createBarcodeImageInMemory(type, value=value)
except (ValueError, AttributeError):
raise exceptions.HTTPException(description="Cannot convert into barcode.")
return request.make_response(barcode, headers=[('Content-Type', 'image/jpg')])