Persist tape printer settings alongside sheet defaults
This commit is contained in:
1 parent
f86efd875d
commit
6433f1b172
1 file changed
+21
-2
+21
-2
@@ -15,7 +15,7 @@ Routes:
|
||||
/admin/labels/print the printable sheet
|
||||
/admin/labels/print.pdf same sheet as a PDF (ReportLab only)
|
||||
/admin/labels/categories manage the taxonomy
|
||||
/admin/labels/settings API key and print defaults
|
||||
/admin/labels/settings API key, print defaults, tape printer
|
||||
|
||||
Created by: Jess Rogerson (yelling commands at Claude.AI)
|
||||
"""
|
||||
@@ -32,7 +32,7 @@ from app import db
|
||||
from app.models.part_label import PartCategory, PartLabel, slugify
|
||||
from app.models.site_setting import SiteSetting
|
||||
from app.routes.admin import admin_required
|
||||
from app.services import label_render
|
||||
from app.services import label_render, tape_printer
|
||||
from app.services.part_catalog import (RebrickableAPI, cache_part_image,
|
||||
ensure_seeded, seed_categories)
|
||||
|
||||
@@ -418,6 +418,19 @@ def settings():
|
||||
or label_render.DEFAULT_PRESET)
|
||||
SiteSetting.set('label_offset_x', request.form.get('offset_x') or '0')
|
||||
SiteSetting.set('label_offset_y', request.form.get('offset_y') or '0')
|
||||
|
||||
# Brother VC-500W (or any AirPrint label printer) over IPP
|
||||
SiteSetting.set('tape_printer_host',
|
||||
(request.form.get('tape_printer_host') or '').strip())
|
||||
SiteSetting.set('tape_printer_port',
|
||||
(request.form.get('tape_printer_port') or '631').strip())
|
||||
SiteSetting.set('tape_printer_path',
|
||||
(request.form.get('tape_printer_path')
|
||||
or '/ipp/print').strip())
|
||||
SiteSetting.set('tape_printer_format',
|
||||
(request.form.get('tape_printer_format') or '').strip())
|
||||
SiteSetting.set('tape_default',
|
||||
request.form.get('tape_default') or tape_printer.DEFAULT_TAPE)
|
||||
db.session.commit()
|
||||
flash('Label settings saved.', 'success')
|
||||
return redirect(url_for('labels.settings'))
|
||||
@@ -433,4 +446,10 @@ def settings():
|
||||
offset_x=SiteSetting.get('label_offset_x', '0'),
|
||||
offset_y=SiteSetting.get('label_offset_y', '0'),
|
||||
pdf_available=label_render.reportlab_available(),
|
||||
tapes=tape_printer.TAPE_PRESETS,
|
||||
tape_printer_host=SiteSetting.get('tape_printer_host', '') or '',
|
||||
tape_printer_port=SiteSetting.get('tape_printer_port', '631') or '631',
|
||||
tape_printer_path=SiteSetting.get('tape_printer_path', '/ipp/print') or '/ipp/print',
|
||||
tape_printer_format=SiteSetting.get('tape_printer_format', '') or '',
|
||||
tape_default=SiteSetting.get('tape_default', tape_printer.DEFAULT_TAPE),
|
||||
)
|
||||
Reference in new issue
Block a user