diff --git a/app/modules/labels/routes.py b/app/modules/labels/routes.py
index fb79dd0..e761ea1 100755
--- a/app/modules/labels/routes.py
+++ b/app/modules/labels/routes.py
@@ -487,4 +487,39 @@ def api_generate_batch_pdf(order_id):
except Exception as e:
logger.error(f"Error generating batch PDF: {e}")
+ return jsonify({'error': str(e)}), 500
+
+
+@labels_bp.route('/api/pairing-keys', methods=['GET'], endpoint='api_pairing_keys')
+def api_pairing_keys():
+ """Get QZ Tray pairing keys for printer selection"""
+ if 'user_id' not in session:
+ return jsonify({'error': 'Unauthorized'}), 401
+
+ try:
+ conn = get_db()
+ cursor = conn.cursor()
+
+ cursor.execute("""
+ SELECT id, printer_name, pairing_key, valid_until
+ FROM qz_pairing_keys
+ WHERE valid_until >= CURDATE()
+ ORDER BY printer_name ASC
+ """)
+
+ pairing_keys = []
+ for row in cursor.fetchall():
+ pairing_keys.append({
+ 'id': row[0],
+ 'printer_name': row[1],
+ 'pairing_key': row[2]
+ })
+
+ cursor.close()
+
+ logger.info(f"Retrieved {len(pairing_keys)} valid pairing keys")
+ return jsonify(pairing_keys), 200
+
+ except Exception as e:
+ logger.error(f"Error fetching pairing keys: {e}")
return jsonify({'error': str(e)}), 500
\ No newline at end of file
diff --git a/app/templates/modules/labels/print_labels.html b/app/templates/modules/labels/print_labels.html
index 5be448e..dcf538e 100755
--- a/app/templates/modules/labels/print_labels.html
+++ b/app/templates/modules/labels/print_labels.html
@@ -290,8 +290,11 @@
+
+
+
+-->
-
+
-
+
+
{% endblock %}
{% block content %}