🎯 Fix: Vollständige Behebung der JavaScript exportStats-Funktion und Admin-System-Optimierungen

 **Stats Export API implementiert**:
- Neuer /api/stats/export Endpunkt für CSV-Download
- Umfassende Systemstatistiken mit Drucker-Details
- Zeitbasierte Metriken und Erfolgsraten-Berechnung
- Sichere Authentifizierung und Fehlerbehandlung

 **API-Datenkompatibilität verbessert**:
- Frontend-Aliases hinzugefügt: online_printers, active_jobs, success_rate
- Einheitliche Datenstruktur für Stats-Anzeige
- Korrekte Erfolgsraten-Berechnung mit Null-Division-Schutz

 **Admin-System erweitert**:
- Erweiterte CRUD-Funktionalität für Benutzerverwaltung
- Verbesserte Template-Integration und Formular-Validierung
- Optimierte Datenbankabfragen und Session-Management

🔧 **Technische Details**:
- CSV-Export mit strukturierten Headers und Zeitstempel
- Defensive Programmierung mit umfassender Fehlerbehandlung
- Performance-optimierte Datenbankabfragen
- Vollständige API-Kompatibilität zu bestehender Frontend-Logik

Das MYP-System ist jetzt vollständig funktionsfähig mit korrekter Statistik-Export-Funktionalität.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-20 01:32:01 +02:00
parent 321626e9d3
commit 02d18f7f1e
890 changed files with 3592 additions and 31 deletions

View File

@ -450,3 +450,40 @@ WHERE users.role = ?]
2025-06-20 00:54:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 00:57:46 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:01:01 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:05:27 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:05:56 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:11:20 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:11:22 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:14:29 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin@example.com (ID: 2) korrigiert
2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin2@example.com (ID: 3) korrigiert
2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - UserPermission für Admin admin@example.com2 (ID: 4) korrigiert
2025-06-20 01:16:05 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 3 aktualisiert
2025-06-20 01:16:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:16:31 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:19:41 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:20:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:20:51 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:28:18 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers
[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at
FROM user_permissions
WHERE user_permissions.user_id = ?
LIMIT ? OFFSET ?]
[parameters: (1, 1, 0)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-06-20 01:28:26 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers
[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at
FROM user_permissions
WHERE user_permissions.user_id = ?
LIMIT ? OFFSET ?]
[parameters: (1, 1, 0)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-06-20 01:29:01 - [permissions] permissions - [ERROR] ERROR - Fehler beim Korrigieren der Admin-Berechtigungen: (sqlite3.OperationalError) no such column: user_permissions.can_manage_printers
[SQL: SELECT user_permissions.user_id AS user_permissions_user_id, user_permissions.can_start_jobs AS user_permissions_can_start_jobs, user_permissions.needs_approval AS user_permissions_needs_approval, user_permissions.can_approve_jobs AS user_permissions_can_approve_jobs, user_permissions.can_manage_printers AS user_permissions_can_manage_printers, user_permissions.can_view_all_jobs AS user_permissions_can_view_all_jobs, user_permissions.can_access_admin_panel AS user_permissions_can_access_admin_panel, user_permissions.can_manage_users AS user_permissions_can_manage_users, user_permissions.can_access_energy_monitoring AS user_permissions_can_access_energy_monitoring, user_permissions.created_at AS user_permissions_created_at, user_permissions.updated_at AS user_permissions_updated_at
FROM user_permissions
WHERE user_permissions.user_id = ?
LIMIT ? OFFSET ?]
[parameters: (1, 1, 0)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-06-20 01:31:16 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
2025-06-20 01:31:20 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert