feat: Entferne die alte Drucker-API-Route und aktualisiere die Frontend-Fehlerbehandlung für Druckeroperationen

This commit is contained in:
2025-05-26 13:16:36 +02:00
parent 6aff252bd2
commit b379cdf4c9
2 changed files with 13 additions and 69 deletions

View File

@@ -1100,68 +1100,7 @@ def delete_user(user_id):
flash(f"Fehler beim Löschen des Benutzers: {str(e)}", "error")
return redirect(url_for('admin_page', tab='users'))
@app.route("/api/printers", methods=["POST"])
@login_required
def create_printer():
"""Create a new printer (admin only)"""
if not current_user.is_admin:
flash("Sie haben keine Berechtigung, um neue Drucker anzulegen.", "error")
return redirect(url_for('admin_page', tab='printers'))
db_session = get_db_session()
try:
# Statt JSON-Daten die Formulardaten aus dem POST-Request holen
name = request.form.get('name')
model = request.form.get('model')
location = request.form.get('location')
mac_address = request.form.get('mac_address')
plug_ip = request.form.get('plug_ip')
plug_username = request.form.get('plug_username')
plug_password = request.form.get('plug_password')
# Check required fields
if not name or not mac_address:
db_session.close()
flash("Name und MAC-Adresse sind Pflichtfelder.", "error")
return redirect(url_for('admin_page', tab='printers'))
# Check if printer with same MAC already exists
existing_printer = db_session.query(Printer).filter(
Printer.mac_address == mac_address
).first()
if existing_printer:
db_session.close()
flash("Ein Drucker mit dieser MAC-Adresse existiert bereits.", "error")
return redirect(url_for('admin_page', tab='printers'))
# Create new printer
new_printer = Printer(
name=name,
model=model or "",
location=location or "",
mac_address=mac_address,
plug_ip=plug_ip or "",
plug_username=plug_username or "",
plug_password=plug_password or "",
active=True
)
db_session.add(new_printer)
db_session.commit()
printer_id = new_printer.id
db_session.close()
app_logger.info(f"New printer created: {new_printer.name} (ID: {printer_id})")
flash(f"Drucker {name} wurde erfolgreich angelegt.", "success")
return redirect(url_for('admin_page', tab='printers'))
except Exception as e:
db_session.rollback()
db_session.close()
app_logger.error(f"Error creating printer: {str(e)}")
flash(f"Fehler beim Anlegen des Druckers: {str(e)}", "error")
return redirect(url_for('admin_page', tab='printers'))
# Diese Route wurde entfernt - verwende stattdessen /api/printers/add für JSON-API
@app.route("/api/printers/<int:printer_id>", methods=["DELETE"])
@login_required