🔧 Update: Workflow Documentation and Job Deletion Enhancements

**Änderungen:**
-  Aktualisierte Schulungsdokumentation für den Gastzugang, um den Workflow klarer darzustellen.
-  Verbesserte Visualisierung im Workflow-Diagramm, um den Prozess für Gäste zu verdeutlichen.
-  Optimierte Logik in der Job-Löschfunktion, um abhängige Datensätze vor der Löschung zu bereinigen.

**Ergebnis:**
- Klarere Anleitungen für Benutzer zur Nutzung des Gastzugangs.
- Verbesserte Nachvollziehbarkeit des Workflows durch aktualisierte Diagramme.
- Erhöhte Datenintegrität durch Bereinigung abhängiger Datensätze vor der Job-Löschung.

🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
2025-06-16 01:18:31 +02:00
parent 83d3ca5e28
commit b1ae9523a9
155 changed files with 1189 additions and 199 deletions

View File

@ -36940,3 +36940,445 @@ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
2025-06-16 01:08:15 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:08:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:08:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:09:11 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:09:11 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:09:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:09:42 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:10:12 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:10:12 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:10:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:10:42 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:11:12 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:11:12 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:12:15 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-16 01:12:15 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-16 01:12:15 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
2025-06-16 01:12:16 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-16 01:12:17 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-16 01:12:17 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-16 01:16:59 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-16 01:17:00 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-16 01:17:00 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-16 01:17:01 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-16 01:17:01 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-16 01:17:02 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-16 01:17:02 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-16 01:17:03 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/dashboard.html')
2025-06-16 01:17:03 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html')
2025-06-16 01:17:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:03 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:04 - [app] app - [DEBUG] DEBUG - Request: GET /printers
2025-06-16 01:17:04 - [app] app - [INFO] INFO - Locating template 'printers.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/printers.html')
2025-06-16 01:17:04 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:05 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:05 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-16 01:17:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:05 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-512.png
2025-06-16 01:17:05 - [app] app - [INFO] INFO - Locating template 'errors/404.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/errors/404.html')
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
2025-06-16 01:17:06 - [app] app - [INFO] INFO - Locating template 'jobs.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/jobs.html')
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:06 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:06 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Request: GET /calendar
2025-06-16 01:17:07 - [app] app - [INFO] INFO - Locating template 'calendar.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/calendar.html')
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:07 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:08 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:08 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:09 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:09 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:09 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: unreachable, Quelle: system
2025-06-16 01:17:09 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
2025-06-16 01:17:10 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/dashboard
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/live
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/statistics
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:13 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:14 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:14 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:16 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Request: GET /request
2025-06-16 01:17:17 - [app] app - [INFO] INFO - Locating template 'guest_request.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/guest_request.html')
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:17 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:19 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:19 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:24 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-16 01:17:24 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:24 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:24 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:25 - [app] app - [DEBUG] DEBUG - Request: GET /printers
2025-06-16 01:17:25 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:25 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:25 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:26 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:26 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:27 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:27 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:27 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:29 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:29 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:29 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:29 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Request: GET /printers
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:30 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:30 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:30 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:17:32 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:17:32 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:34 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:34 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:37 - [app] app - [DEBUG] DEBUG - Request: DELETE /api/jobs/2
2025-06-16 01:17:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-16 01:17:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:39 - [app] app - [DEBUG] DEBUG - Request: DELETE /api/jobs/1
2025-06-16 01:17:39 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:39 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-16 01:17:39 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Request: GET /calendar
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
2025-06-16 01:17:41 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/dashboard
2025-06-16 01:17:42 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/statistics
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/live
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:43 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:44 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:44 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:45 - [app] app - [DEBUG] DEBUG - Request: GET /stats
2025-06-16 01:17:45 - [app] app - [INFO] INFO - Locating template 'stats.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/stats.html')
2025-06-16 01:17:45 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:45 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:46 - [app] app - [DEBUG] DEBUG - Request: GET /stats
2025-06-16 01:17:46 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:46 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:46 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Request: GET /request
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:47 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
2025-06-16 01:17:49 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-16 01:17:49 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Request: GET /admin/users
2025-06-16 01:17:51 - [app] app - [INFO] INFO - Locating template 'admin.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin.html')
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
2025-06-16 01:17:51 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-16 01:17:51 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:17:53 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:17:53 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:17:59 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/users
2025-06-16 01:17:59 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Request: GET /admin/users
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
2025-06-16 01:18:00 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-16 01:18:00 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:02 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:02 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Request: GET /admin/printers
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
2025-06-16 01:18:03 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-16 01:18:03 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
2025-06-16 01:18:05 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
2025-06-16 01:18:05 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:07 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:07 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Request: GET /admin/printers
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
2025-06-16 01:18:08 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
2025-06-16 01:18:08 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:09 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-16 01:18:09 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-16 01:18:10 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:10 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:10 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:18:11 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:11 - [app] app - [DEBUG] DEBUG - Response: 304
2025-06-16 01:18:15 - [app] app - [DEBUG] DEBUG - Request: POST /auth/logout
2025-06-16 01:18:15 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-16 01:18:15 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
2025-06-16 01:18:15 - [app] app - [INFO] INFO - Locating template 'login.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates
-> found ('/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/login.html')
2025-06-16 01:18:15 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-16 01:18:16 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
2025-06-16 01:18:16 - [app] app - [DEBUG] DEBUG - Response: 304