From 7701ce16b545b492f55067638a714e61fd40970c Mon Sep 17 00:00:00 2001
From: Julian Rother <julian@cccv.de>
Date: Sun, 5 Mar 2023 02:48:47 +0100
Subject: [PATCH] Add "Print label" checkbox to add item form

---
 warehouse/__init__.py             | 4 ++++
 warehouse/templates/item/add.html | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/warehouse/__init__.py b/warehouse/__init__.py
index 3583e00..e051c33 100644
--- a/warehouse/__init__.py
+++ b/warehouse/__init__.py
@@ -119,6 +119,10 @@ def item_add():
 	)
 	db.session.add(item)
 	db.session.commit()
+	if request.form.get('print_label'):
+		resp = render_pdf(render_template('item/label.html', item=item))
+		print_pdf(resp.data, app.config['PRINTER_URL'])
+		flash('Print job submitted')
 	return redirect(url_for('item_view', item_id=item.id))
 
 @app.route('/item/<item_id>/')
diff --git a/warehouse/templates/item/add.html b/warehouse/templates/item/add.html
index 3a24da6..58d37cf 100644
--- a/warehouse/templates/item/add.html
+++ b/warehouse/templates/item/add.html
@@ -5,6 +5,12 @@
 	<input type="hidden" name="csrf_token" value="{{ request.csrf_token }}">
 	<input name="name" placeholder="Name" class="form-control">
 	<textarea name="description" placeholder="Description" class="form-control mt-2"></textarea>
+	<div class="form-check my-2">
+		<input class="form-check-input" type="checkbox" name="print_label" value="1" id="printLabelCheckbox">
+		<label class="form-check-label" for="printLabelCheckbox">
+			Print label
+		</label>
+	</div>
 	<div class="mt-2 clearfix">
 		<button type="submit" class="btn btn-primary float-end">Add item</button>
 	</div>
-- 
GitLab