🗑️ Refactor: Remove obsolete printer check scripts and update app logic
**Änderungen:** - ✅ check_printer_ips.py und check_printers.py: Entfernt nicht mehr benötigte Skripte zur Überprüfung von Drucker-IP-Adressen. - ✅ DRUCKER_STATUS_REQUIREMENTS.md: Veraltete Anforderungen entfernt. - ✅ setup_standard_printers.py: Anpassungen zur Vereinheitlichung der Drucker-IP. - ✅ app.py: Logik zur Filterung offline/unreachable Drucker aktualisiert. **Ergebnis:** - Bereinigung des Codes durch Entfernen nicht mehr benötigter Dateien. - Optimierte Logik zur Handhabung von Druckerstatus in der Anwendung. 🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
@ -286,7 +286,67 @@ def guest_requests():
|
||||
@admin_required
|
||||
def advanced_settings():
|
||||
"""Erweiterte Systemeinstellungen"""
|
||||
return render_template('admin_advanced_settings.html')
|
||||
try:
|
||||
with get_cached_session() as db_session:
|
||||
# Grundlegende Statistiken sammeln für das Template
|
||||
total_users = db_session.query(User).count()
|
||||
total_printers = db_session.query(Printer).count()
|
||||
total_jobs = db_session.query(Job).count()
|
||||
|
||||
# Aktive Drucker zählen (online/verfügbar)
|
||||
active_printers = db_session.query(Printer).filter(
|
||||
Printer.status.in_(['online', 'available', 'idle'])
|
||||
).count()
|
||||
|
||||
# Wartende Jobs zählen
|
||||
pending_jobs = db_session.query(Job).filter(
|
||||
Job.status.in_(['pending', 'scheduled', 'queued'])
|
||||
).count()
|
||||
|
||||
stats = {
|
||||
'total_users': total_users,
|
||||
'total_printers': total_printers,
|
||||
'active_printers': active_printers,
|
||||
'total_jobs': total_jobs,
|
||||
'pending_jobs': pending_jobs
|
||||
}
|
||||
|
||||
# Standard-Optimierungseinstellungen für das Template
|
||||
optimization_settings = {
|
||||
'algorithm': 'round_robin',
|
||||
'consider_distance': True,
|
||||
'minimize_changeover': True,
|
||||
'auto_optimization_enabled': False,
|
||||
'max_batch_size': 10,
|
||||
'time_window': 24
|
||||
}
|
||||
|
||||
admin_logger.info(f"Erweiterte Einstellungen geladen von {current_user.username}")
|
||||
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||
|
||||
except Exception as e:
|
||||
admin_logger.error(f"Fehler beim Laden der erweiterten Einstellungen: {str(e)}")
|
||||
flash("Fehler beim Laden der Systemdaten", "error")
|
||||
# Fallback mit leeren Statistiken
|
||||
stats = {
|
||||
'total_users': 0,
|
||||
'total_printers': 0,
|
||||
'active_printers': 0,
|
||||
'total_jobs': 0,
|
||||
'pending_jobs': 0
|
||||
}
|
||||
|
||||
# Fallback-Optimierungseinstellungen
|
||||
optimization_settings = {
|
||||
'algorithm': 'round_robin',
|
||||
'consider_distance': True,
|
||||
'minimize_changeover': True,
|
||||
'auto_optimization_enabled': False,
|
||||
'max_batch_size': 10,
|
||||
'time_window': 24
|
||||
}
|
||||
|
||||
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||
|
||||
@admin_blueprint.route("/system-health")
|
||||
@admin_required
|
||||
@ -389,7 +449,7 @@ def maintenance():
|
||||
|
||||
# ===== BENUTZER-CRUD-API (ursprünglich admin.py) =====
|
||||
|
||||
@admin_blueprint.route("/api/users", methods=["POST"])
|
||||
@admin_api_blueprint.route("/users", methods=["POST"])
|
||||
@admin_required
|
||||
def create_user_api():
|
||||
"""API-Endpunkt zum Erstellen eines neuen Benutzers"""
|
||||
@ -457,7 +517,7 @@ def create_user_api():
|
||||
admin_logger.error(f"Fehler beim Erstellen des Benutzers: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Erstellen des Benutzers"}), 500
|
||||
|
||||
@admin_blueprint.route("/api/users/<int:user_id>", methods=["GET"])
|
||||
@admin_api_blueprint.route("/users/<int:user_id>", methods=["GET"])
|
||||
@admin_required
|
||||
def get_user_api(user_id):
|
||||
"""API-Endpunkt zum Abrufen von Benutzerdaten"""
|
||||
@ -489,7 +549,7 @@ def get_user_api(user_id):
|
||||
admin_logger.error(f"Fehler beim Abrufen der Benutzerdaten: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Abrufen der Benutzerdaten"}), 500
|
||||
|
||||
@admin_blueprint.route("/api/users/<int:user_id>", methods=["PUT"])
|
||||
@admin_api_blueprint.route("/users/<int:user_id>", methods=["PUT"])
|
||||
@admin_required
|
||||
def update_user_api(user_id):
|
||||
"""API-Endpunkt zum Aktualisieren von Benutzerdaten"""
|
||||
@ -527,7 +587,7 @@ def update_user_api(user_id):
|
||||
admin_logger.error(f"Fehler beim Aktualisieren des Benutzers: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Aktualisieren des Benutzers"}), 500
|
||||
|
||||
@admin_blueprint.route("/api/users/<int:user_id>", methods=["DELETE"])
|
||||
@admin_api_blueprint.route("/users/<int:user_id>", methods=["DELETE"])
|
||||
@admin_required
|
||||
def delete_user_api(user_id):
|
||||
"""Löscht einen Benutzer über die API"""
|
||||
@ -1025,7 +1085,7 @@ def clear_cache():
|
||||
|
||||
# ===== API-ENDPUNKTE FÜR LOGS =====
|
||||
|
||||
@admin_blueprint.route("/api/logs", methods=["GET"])
|
||||
@admin_api_blueprint.route("/logs", methods=["GET"])
|
||||
@admin_required
|
||||
def get_logs_api():
|
||||
"""API-Endpunkt zum Abrufen von System-Logs"""
|
||||
@ -1069,7 +1129,7 @@ def get_logs_api():
|
||||
admin_logger.error(f"Fehler beim Abrufen der Logs: {str(e)}")
|
||||
return jsonify({"error": "Fehler beim Laden der Logs"}), 500
|
||||
|
||||
@admin_blueprint.route("/api/logs/export", methods=["POST"])
|
||||
@admin_api_blueprint.route("/logs/export", methods=["POST"])
|
||||
@admin_required
|
||||
def export_logs_api():
|
||||
"""API-Endpunkt zum Exportieren von System-Logs"""
|
||||
@ -1245,7 +1305,7 @@ def get_system_status_api():
|
||||
|
||||
# ===== TEST-ENDPUNKTE FÜR ENTWICKLUNG =====
|
||||
|
||||
@admin_blueprint.route("/api/test/create-sample-logs", methods=["POST"])
|
||||
@admin_api_blueprint.route("/test/create-sample-logs", methods=["POST"])
|
||||
@admin_required
|
||||
def create_sample_logs_api():
|
||||
"""Test-Endpunkt zum Erstellen von Beispiel-Log-Einträgen"""
|
||||
|
Reference in New Issue
Block a user