diff --git a/setup.py b/setup.py index d62afda..c617248 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ description='', # Latest mysql-connector was weird behavior: https://stackoverflow.com/questions/73244027/character-set-utf8-unsupported-in-python-mysql-connector install_requires=['reportlab>=3.6.8', 'Flask>=2.0.0', "mysql-connector-python<=8.0.29", "gunicorn==20.1.0", - "pyyaml>=6.0"], + "pyyaml>=6.0", "qrcode-7.4.2"], scripts=['scripts/generate.py'], include_package_data=True, package_data={ diff --git a/wlan_api/pdf/VoucherPrint.py b/wlan_api/pdf/VoucherPrint.py index 36c5957..59b26b7 100644 --- a/wlan_api/pdf/VoucherPrint.py +++ b/wlan_api/pdf/VoucherPrint.py @@ -1,3 +1,5 @@ +import qrcode + from reportlab.lib.pagesizes import A5 from reportlab.platypus import SimpleDocTemplate, Paragraph, PageBreak, Image, ListFlowable, ListItem, Spacer, Table, TableStyle from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle, ListStyle @@ -64,6 +66,10 @@ def _header_footer(canvas, doc): canvas.restoreState() def print_table(self, elements, voucher): + # Generate QR Code + img = qrcode.make(voucher) + img.save('assets/images/qrcode.jpg') + qrcode = Image('assets/images/qrcode.jpg') table = Table([('Voucher Code', voucher)], colWidths=55 * mm, rowHeights=10 * mm) table.setStyle(TableStyle( @@ -91,6 +97,7 @@ def print_vouchers(self): elements = [] for i, voucher in enumerate(self.vouchers): + #qrcode = QRFlowable('http://redirect.wlan.tuerantuer.org/?voucher=' + voucher) #elements.append(qrcode) diff --git a/wlan_api/server.py b/wlan_api/server.py index 0a62d62..4fe20d2 100644 --- a/wlan_api/server.py +++ b/wlan_api/server.py @@ -1,10 +1,10 @@ import os +import pathlib +import yaml from flask import Flask, redirect from wlan_api.vpg import vpg -import yaml -import pathlib def create_app(): diff --git a/wlan_api/vpg/templates/pdf/step.html b/wlan_api/vpg/templates/pdf/step.html index 916e06a..d7799f1 100644 --- a/wlan_api/vpg/templates/pdf/step.html +++ b/wlan_api/vpg/templates/pdf/step.html @@ -7,7 +7,7 @@