"feat: Enhanced admin panel templates for printer management"

This commit is contained in:
2025-05-26 13:15:19 +02:00
parent 958a7bdc0f
commit 6aff252bd2
4 changed files with 146 additions and 12 deletions

View File

@@ -1166,10 +1166,9 @@ def create_printer():
@app.route("/api/printers/<int:printer_id>", methods=["DELETE"])
@login_required
def delete_printer(printer_id):
"""Delete a printer (admin only)"""
"""Löscht einen Drucker (nur für Administratoren)"""
if not current_user.is_admin:
flash("Sie haben keine Berechtigung, um Drucker zu löschen.", "error")
return redirect(url_for('admin_page', tab='printers'))
return jsonify({"error": "Nur Administratoren können Drucker löschen"}), 403
db_session = get_db_session()
try:
@@ -1177,23 +1176,20 @@ def delete_printer(printer_id):
if not printer:
db_session.close()
flash("Drucker nicht gefunden.", "error")
return redirect(url_for('admin_page', tab='printers'))
return jsonify({"error": "Drucker nicht gefunden"}), 404
printer_name = printer.name # Save for later logging
printer_name = printer.name # Für Logging speichern
db_session.delete(printer)
db_session.commit()
db_session.close()
app_logger.info(f"Printer deleted: {printer_name} (ID: {printer_id})")
flash(f"Drucker {printer_name} wurde erfolgreich gelöscht.", "success")
return redirect(url_for('admin_page', tab='printers'))
printers_logger.info(f"Drucker {printer_name} (ID: {printer_id}) wurde von {current_user.username} gelöscht")
return jsonify({"success": True, "message": f"Drucker {printer_name} wurde erfolgreich gelöscht"}), 200
except Exception as e:
db_session.rollback()
db_session.close()
app_logger.error(f"Error deleting printer: {str(e)}")
flash(f"Fehler beim Löschen des Druckers: {str(e)}", "error")
return redirect(url_for('admin_page', tab='printers'))
printers_logger.error(f"Fehler beim Löschen des Druckers {printer_id}: {str(e)}")
return jsonify({"error": f"Fehler beim Löschen des Druckers: {str(e)}"}), 500
@app.route("/api/stats", methods=["GET"])
@login_required