🔧 Update: Enhance printer deletion API and logging

**Änderungen:**
-  admin_unified.py: Implemented detailed logging for printer deletion actions, including success and error messages.
-  printers.html: Updated delete button functionality to utilize the PrinterManager class for improved code organization and error handling.

**Ergebnis:**
- Verbesserte Nachverfolgbarkeit und Fehlerdiagnose bei Drucker-Löschvorgängen.
- Optimierte Benutzerinteraktion durch verbesserte Fehlerbehandlung im Frontend.

🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
2025-06-16 00:33:20 +02:00
parent e98f273cad
commit fcefbef49d
84 changed files with 972 additions and 10 deletions

View File

@ -620,16 +620,37 @@ def delete_user_api(user_id):
return jsonify({"error": "Fehler beim Löschen des Benutzers"}), 500
# ===== DRUCKER-API-ROUTEN =====
# HINWEIS: Die Drucker-CRUD-Operationen wurden nach app.py verschoben
# für konsistente API-Responses und bessere Wartbarkeit.
# Verwenden Sie die folgenden Endpunkte:
# - GET /api/admin/printers - Alle Drucker abrufen
# - GET /api/admin/printers/<id> - Einzelnen Drucker abrufen
# - POST /api/admin/printers - Neuen Drucker erstellen
# - PUT /api/admin/printers/<id> - Drucker aktualisieren
# - DELETE /api/admin/printers/<id> - Drucker löschen
# Die alten Routen wurden entfernt, um Duplikate zu vermeiden
@admin_api_blueprint.route("/printers/<int:printer_id>", methods=["DELETE"])
@admin_required
def delete_printer_api(printer_id):
"""Löscht einen Drucker über die API"""
try:
from models import get_db_session, Printer
with get_db_session() as db_session:
printer = db_session.query(Printer).filter(Printer.id == printer_id).first()
if not printer:
return jsonify({"error": "Drucker nicht gefunden"}), 404
printer_name = printer.name
printer_location = printer.location
# Drucker aus der Datenbank entfernen
db_session.delete(printer)
db_session.commit()
admin_logger.info(f"Drucker '{printer_name}' (ID: {printer_id}, Standort: {printer_location}) gelöscht von Admin {current_user.username}")
return jsonify({
"success": True,
"message": f"Drucker '{printer_name}' erfolgreich gelöscht"
})
except Exception as e:
admin_logger.error(f"Fehler beim Löschen des Druckers {printer_id}: {str(e)}")
return jsonify({"error": "Fehler beim Löschen des Druckers"}), 500
# ===== ERWEITERTE SYSTEM-API (ursprünglich admin_api.py) =====