🔧 Update: Enhance Guest Request Model with OTP Code Management
**Änderungen:** - ✅ Hinzugefügt: `otp_code_plain` zur `GuestRequest`-Klasse für die Speicherung des OTP-Codes im Klartext zur Anzeige für Administratoren. - ✅ Anpassung der API-Endpunkte in `admin_unified.py`, um den Klartext-OTP-Code anzuzeigen, wenn die Anfrage genehmigt ist und der OTP-Code aktiv ist. **Ergebnis:** - Verbesserte Verwaltung und Sichtbarkeit von OTP-Codes für Administratoren, was die Benutzerfreundlichkeit und Sicherheit bei der Verwaltung von Gastanfragen erhöht. 🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -1317,7 +1317,7 @@ def get_guest_requests_api():
|
|||||||
# OTP-Code für Admins sichtbar machen (nur wenn aktiv)
|
# OTP-Code für Admins sichtbar machen (nur wenn aktiv)
|
||||||
if req.status == 'approved' and req.otp_code and req.otp_expires_at:
|
if req.status == 'approved' and req.otp_code and req.otp_expires_at:
|
||||||
if req.otp_expires_at > datetime.now() and not req.otp_used_at:
|
if req.otp_expires_at > datetime.now() and not req.otp_used_at:
|
||||||
request_data['otp_code'] = req.otp_code # Klartext für Admin
|
request_data['otp_code'] = req.otp_code_plain # Klartext für Admin
|
||||||
request_data['otp_expires_at'] = req.otp_expires_at.isoformat()
|
request_data['otp_expires_at'] = req.otp_expires_at.isoformat()
|
||||||
request_data['otp_status'] = 'active'
|
request_data['otp_status'] = 'active'
|
||||||
elif req.otp_used_at:
|
elif req.otp_used_at:
|
||||||
@ -1407,7 +1407,7 @@ def print_guest_credentials_api(request_id):
|
|||||||
"approved_by": guest_request.processed_by
|
"approved_by": guest_request.processed_by
|
||||||
},
|
},
|
||||||
"access_data": {
|
"access_data": {
|
||||||
"otp_code": guest_request.otp_code,
|
"otp_code": guest_request.otp_code_plain, # Klartext für Ausdruck
|
||||||
"valid_until": guest_request.otp_expires_at.strftime("%d.%m.%Y %H:%M"),
|
"valid_until": guest_request.otp_expires_at.strftime("%d.%m.%Y %H:%M"),
|
||||||
"login_url": "http://192.168.1.100:5000/auth/guest"
|
"login_url": "http://192.168.1.100:5000/auth/guest"
|
||||||
},
|
},
|
||||||
@ -1461,7 +1461,7 @@ def get_pending_guest_otps_api():
|
|||||||
otps_data.append({
|
otps_data.append({
|
||||||
'request_id': req.id,
|
'request_id': req.id,
|
||||||
'guest_name': req.name,
|
'guest_name': req.name,
|
||||||
'otp_code': req.otp_code,
|
'otp_code': req.otp_code_plain, # Klartext für Admin
|
||||||
'expires_at': req.otp_expires_at.isoformat(),
|
'expires_at': req.otp_expires_at.isoformat(),
|
||||||
'hours_remaining': hours_remaining,
|
'hours_remaining': hours_remaining,
|
||||||
'urgency': 'critical' if hours_remaining < 2 else 'warning' if hours_remaining < 24 else 'normal'
|
'urgency': 'critical' if hours_remaining < 2 else 'warning' if hours_remaining < 24 else 'normal'
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -332,3 +332,23 @@
|
|||||||
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True
|
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 2 Codes
|
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 2 Codes
|
||||||
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 2 Einträge für Admin Administrator
|
2025-06-16 01:29:16 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 2 Einträge für Admin Administrator
|
||||||
|
2025-06-16 01:38:10 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:10 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:25 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:30 - [admin] admin - [INFO] INFO - Admin-Check für Funktion advanced_settings: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:30 - [admin] admin - [INFO] INFO - Erweiterte Einstellungen geladen von admin
|
||||||
|
2025-06-16 01:38:30 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der erweiterten Einstellungen: 'maintenance_info' is undefined
|
||||||
|
2025-06-16 01:38:31 - [admin] admin - [INFO] INFO - Admin-Check für Funktion advanced_settings: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:31 - [admin] admin - [INFO] INFO - Erweiterte Einstellungen geladen von admin
|
||||||
|
2025-06-16 01:38:31 - [admin] admin - [ERROR] ERROR - Fehler beim Laden der erweiterten Einstellungen: 'maintenance_info' is undefined
|
||||||
|
2025-06-16 01:38:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion printers_overview: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:36 - [admin] admin - [INFO] INFO - Druckerübersicht geladen von admin
|
||||||
|
2025-06-16 01:38:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health_alias: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:36 - [admin] admin - [INFO] INFO - Admin-Check für Funktion api_admin_system_health: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:41 - [admin] admin - [INFO] INFO - Admin-Check für Funktion guest_otps_management: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:41 - [admin] admin - [INFO] INFO - Gast-OTP-Verwaltung aufgerufen von Admin Administrator
|
||||||
|
2025-06-16 01:38:42 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_guest_requests_api: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:42 - [admin] admin - [INFO] INFO - Gastanfragen abgerufen: 2 Einträge für Admin Administrator
|
||||||
|
2025-06-16 01:38:42 - [admin] admin - [INFO] INFO - Admin-Check für Funktion get_pending_guest_otps_api: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-06-16 01:38:42 - [admin] admin - [INFO] INFO - Aktive OTP-Codes abgerufen: 2 Codes
|
||||||
|
@ -108,3 +108,9 @@
|
|||||||
2025-06-16 01:18:08 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
2025-06-16 01:18:08 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
||||||
2025-06-16 01:27:58 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
2025-06-16 01:27:58 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
2025-06-16 01:27:58 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
2025-06-16 01:27:58 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
||||||
|
2025-06-16 01:38:10 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:10 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
||||||
|
2025-06-16 01:38:25 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:25 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
||||||
|
2025-06-16 01:38:36 - [admin_api] admin_api - [ERROR] ERROR - Datenbank-Health-Check fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:36 - [admin_api] admin_api - [INFO] INFO - System-Health-Check durchgeführt: unhealthy
|
||||||
|
@ -36,3 +36,6 @@
|
|||||||
2025-06-16 01:18:03 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
2025-06-16 01:18:03 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
2025-06-16 01:18:08 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
2025-06-16 01:18:08 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
2025-06-16 01:27:57 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
2025-06-16 01:27:57 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
|
2025-06-16 01:38:10 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
|
2025-06-16 01:38:25 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
|
2025-06-16 01:38:36 - [api] api - [INFO] INFO - Statistiken abgerufen von Benutzer admin
|
||||||
|
@ -37540,3 +37540,574 @@ jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
|
|||||||
2025-06-16 01:29:27 - [app] app - [DEBUG] DEBUG - Response: 200
|
2025-06-16 01:29:27 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
2025-06-16 01:29:29 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
2025-06-16 01:29:29 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
2025-06-16 01:29:29 - [app] app - [DEBUG] DEBUG - Response: 304
|
2025-06-16 01:29:29 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
|
||||||
|
2025-06-16 01:29:34 - [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:29:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:29:34 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:29:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:35 - [app] app - [DEBUG] DEBUG - Request: GET /printers
|
||||||
|
2025-06-16 01:29:35 - [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:29:35 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:35 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:29:35 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:29:35 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:29:35 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:29:35 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:29:36 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:29:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:29:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:37 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:29:37 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Request: GET /calendar
|
||||||
|
2025-06-16 01:29:40 - [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:29:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/statistics
|
||||||
|
2025-06-16 01:29:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:42 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:29:42 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:29:44 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
||||||
|
2025-06-16 01:29:44 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:44 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:29:44 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:29:46 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:29:46 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:30:01 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
|
||||||
|
2025-06-16 01:30:01 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
|
||||||
|
2025-06-16 01:30:01 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
|
||||||
|
2025-06-16 01:30:01 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
|
||||||
|
2025-06-16 01:30:02 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
|
||||||
|
2025-06-16 01:32:45 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
|
||||||
|
2025-06-16 01:32:45 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
|
||||||
|
2025-06-16 01:32:45 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
|
||||||
|
2025-06-16 01:32:46 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
|
||||||
|
2025-06-16 01:32:47 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
|
||||||
|
2025-06-16 01:33:06 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
|
||||||
|
2025-06-16 01:33:06 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
|
||||||
|
2025-06-16 01:33:06 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
|
||||||
|
2025-06-16 01:33:07 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
|
||||||
|
2025-06-16 01:33:08 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
|
||||||
|
2025-06-16 01:34:27 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:34:27 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:34:27 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:34:27 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: (sqlite3.OperationalError) table guest_requests has no column named otp_code_plain
|
||||||
|
[SQL: INSERT INTO guest_requests (name, email, reason, duration_min, duration_minutes, created_at, status, printer_id, otp_code, job_id, author_ip, otp_used_at, file_name, file_path, copies, processed_by, processed_at, approval_notes, rejection_reason, updated_at, approved_at, rejected_at, approved_by, rejected_by, otp_expires_at, otp_code_plain, assigned_printer_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
|
||||||
|
[parameters: ('Test Guest', 'test@example.com', 'Testing OTP system', 60, None, '2025-06-16 01:34:27.078605', 'approved', None, None, None, None, None, None, None, 1, None, None, None, None, '2025-06-16 01:34:27.078610', None, None, None, None, None, None, None)]
|
||||||
|
(Background on this error at: https://sqlalche.me/e/20/e3q8)
|
||||||
|
2025-06-16 01:34:53 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:34:53 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:34:53 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:34:53 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 3
|
||||||
|
2025-06-16 01:34:53 - [app] app - [INFO] INFO - OTP erfolgreich verifiziert für Guest Request 3
|
||||||
|
2025-06-16 01:35:09 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:35:09 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:35:09 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:35:10 - [app] app - [INFO] INFO - 6-stelliger OTP generiert für Guest Request 3
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
|
||||||
|
2025-06-16 01:38:03 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
|
||||||
|
2025-06-16 01:38:04 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: ./database/myp.db
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker...
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - ✅ Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - 📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105)
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Statische Drucker konfiguriert
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
|
||||||
|
2025-06-16 01:38:05 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
|
||||||
|
2025-06-16 01:38:06 - [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:38:06 - [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:38:06 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:06 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Request: GET /printers
|
||||||
|
2025-06-16 01:38:08 - [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:38:08 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:38:08 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:08 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:08 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
|
||||||
|
2025-06-16 01:38:10 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:10 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:12 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:12 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Request: GET /user/settings
|
||||||
|
2025-06-16 01:38:20 - [app] app - [INFO] INFO - Locating template 'settings.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/settings.html')
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:20 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:22 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:22 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
|
||||||
|
2025-06-16 01:38:25 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:26 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:26 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:30 - [app] app - [DEBUG] DEBUG - Request: GET /admin/advanced-settings
|
||||||
|
2025-06-16 01:38:30 - [app] app - [INFO] INFO - Locating template 'admin_advanced_settings.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_advanced_settings.html')
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250616_013830
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/admin/advanced-settings
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - Method: GET
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - User: admin
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - Exception Type: UndefinedError
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - Exception: 'maintenance_info' is undefined
|
||||||
|
2025-06-16 01:38:30 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 326, in advanced_settings
|
||||||
|
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 152, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 133, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html", line 459, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 532, in block 'content'
|
||||||
|
<span class="text-slate-900 dark:text-white font-semibold">{{ maintenance_info.last_backup }}</span>
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 485, in getattr
|
||||||
|
return getattr(obj, attribute)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
|
||||||
|
|
||||||
|
During handling of the above exception, another exception occurred:
|
||||||
|
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/app.py", line 867, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/app.py", line 852, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask_login/utils.py", line 290, in decorated_view
|
||||||
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 88, in decorated_function
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 350, in advanced_settings
|
||||||
|
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 152, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 133, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html", line 459, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 532, in block 'content'
|
||||||
|
<span class="text-slate-900 dark:text-white font-semibold">{{ maintenance_info.last_backup }}</span>
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 485, in getattr
|
||||||
|
return getattr(obj, attribute)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
|
||||||
|
|
||||||
|
2025-06-16 01:38:30 - [app] app - [INFO] INFO - Locating template 'errors/500.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/500.html')
|
||||||
|
2025-06-16 01:38:30 - [app] app - [DEBUG] DEBUG - Response: 500
|
||||||
|
2025-06-16 01:38:31 - [app] app - [DEBUG] DEBUG - Request: GET /admin/advanced-settings
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250616_013831
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/admin/advanced-settings
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - Method: GET
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - User: admin
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - Exception Type: UndefinedError
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - Exception: 'maintenance_info' is undefined
|
||||||
|
2025-06-16 01:38:31 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 326, in advanced_settings
|
||||||
|
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 152, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 133, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html", line 459, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 532, in block 'content'
|
||||||
|
<span class="text-slate-900 dark:text-white font-semibold">{{ maintenance_info.last_backup }}</span>
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 485, in getattr
|
||||||
|
return getattr(obj, attribute)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
|
||||||
|
|
||||||
|
During handling of the above exception, another exception occurred:
|
||||||
|
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/app.py", line 867, in full_dispatch_request
|
||||||
|
rv = self.dispatch_request()
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/app.py", line 852, in dispatch_request
|
||||||
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask_login/utils.py", line 290, in decorated_view
|
||||||
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 88, in decorated_function
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", line 350, in advanced_settings
|
||||||
|
return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 152, in render_template
|
||||||
|
return _render(app, template, context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/flask/templating.py", line 133, in _render
|
||||||
|
rv = template.render(context)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
|
||||||
|
self.environment.handle_exception()
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
|
||||||
|
raise rewrite_traceback_stack(source=source)
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 1, in top-level template code
|
||||||
|
{% extends "base.html" %}
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/base.html", line 459, in top-level template code
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/templates/admin_advanced_settings.html", line 532, in block 'content'
|
||||||
|
<span class="text-slate-900 dark:text-white font-semibold">{{ maintenance_info.last_backup }}</span>
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/home/core/.local/lib/python3.11/site-packages/jinja2/environment.py", line 485, in getattr
|
||||||
|
return getattr(obj, attribute)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
jinja2.exceptions.UndefinedError: 'maintenance_info' is undefined
|
||||||
|
|
||||||
|
2025-06-16 01:38:31 - [app] app - [DEBUG] DEBUG - Response: 500
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
|
||||||
|
2025-06-16 01:38:32 - [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:38:32 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
||||||
|
2025-06-16 01:38:32 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=False)
|
||||||
|
2025-06-16 01:38:32 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:34 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:34 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Request: GET /admin/printers
|
||||||
|
2025-06-16 01:38:36 - [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:38:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
|
||||||
|
2025-06-16 01:38:36 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
||||||
|
2025-06-16 01:38:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:37 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:37 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
2025-06-16 01:38:41 - [app] app - [DEBUG] DEBUG - Request: GET /admin/guest-otps
|
||||||
|
2025-06-16 01:38:41 - [app] app - [INFO] INFO - Locating template 'admin_guest_otps.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_guest_otps.html')
|
||||||
|
2025-06-16 01:38:41 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/guest-requests
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/guest-requests/pending-otps
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:42 - [app] app - [DEBUG] DEBUG - Response: 200
|
||||||
|
2025-06-16 01:38:43 - [app] app - [DEBUG] DEBUG - Request: GET /sw.js
|
||||||
|
2025-06-16 01:38:43 - [app] app - [DEBUG] DEBUG - Response: 304
|
||||||
|
@ -36,3 +36,4 @@
|
|||||||
2025-06-16 01:08:09 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 2 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
2025-06-16 01:08:09 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 2 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
||||||
2025-06-16 01:17:09 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 2 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
2025-06-16 01:17:09 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 2 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
||||||
2025-06-16 01:17:41 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
2025-06-16 01:17:41 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
||||||
|
2025-06-16 01:29:40 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-14 22:00:00+00:00 bis 2025-06-21 22:00:00+00:00
|
||||||
|
@ -533,3 +533,13 @@
|
|||||||
2025-06-16 01:27:46 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
2025-06-16 01:27:46 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
2025-06-16 01:27:48 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
2025-06-16 01:27:48 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
2025-06-16 01:27:48 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
2025-06-16 01:27:48 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:30:01 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
|
2025-06-16 01:30:01 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:32:46 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
|
2025-06-16 01:32:46 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:33:07 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
|
2025-06-16 01:33:07 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:03 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
|
2025-06-16 01:38:03 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:04 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
|
||||||
|
2025-06-16 01:38:04 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
@ -397,3 +397,8 @@
|
|||||||
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiemonitoring-Dashboard 'api_energy_dashboard' erfolgreich in 17.76ms
|
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiemonitoring-Dashboard 'api_energy_dashboard' erfolgreich in 17.76ms
|
||||||
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiestatistiken erfolgreich erstellt für Zeitraum: today
|
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiestatistiken erfolgreich erstellt für Zeitraum: today
|
||||||
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiestatistiken 'api_energy_statistics' erfolgreich in 31.58ms
|
2025-06-16 01:29:27 - [energy_monitoring] energy_monitoring - [INFO] INFO - [OK] API-Energiestatistiken 'api_energy_statistics' erfolgreich in 31.58ms
|
||||||
|
2025-06-16 01:30:02 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
||||||
|
2025-06-16 01:32:47 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
||||||
|
2025-06-16 01:33:08 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
||||||
|
2025-06-16 01:38:03 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
||||||
|
2025-06-16 01:38:05 - [energy_monitoring] energy_monitoring - [INFO] INFO - ✅ Energiemonitoring-Blueprint initialisiert
|
||||||
|
@ -2053,3 +2053,23 @@
|
|||||||
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute
|
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute
|
||||||
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Energiestatistiken erfolgreich gesammelt: 0/6 Geräte online
|
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Energiestatistiken erfolgreich gesammelt: 0/6 Geräte online
|
||||||
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute
|
2025-06-16 01:29:27 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Gesamtverbrauch: 0.0W aktuell, 0.0Wh heute
|
||||||
|
2025-06-16 01:30:01 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
|
||||||
|
2025-06-16 01:30:01 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
|
||||||
|
2025-06-16 01:30:01 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
|
||||||
|
2025-06-16 01:30:01 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
|
||||||
|
2025-06-16 01:32:46 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
|
||||||
|
2025-06-16 01:32:46 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
|
||||||
|
2025-06-16 01:32:46 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
|
||||||
|
2025-06-16 01:32:46 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
|
||||||
|
2025-06-16 01:33:07 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
|
||||||
|
2025-06-16 01:33:07 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
|
||||||
|
2025-06-16 01:33:07 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
|
||||||
|
2025-06-16 01:33:07 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
|
||||||
|
2025-06-16 01:38:03 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
|
||||||
|
2025-06-16 01:38:03 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
|
||||||
|
2025-06-16 01:38:03 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
|
||||||
|
2025-06-16 01:38:03 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
|
||||||
|
2025-06-16 01:38:04 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
|
||||||
|
2025-06-16 01:38:04 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
|
||||||
|
2025-06-16 01:38:04 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
|
||||||
|
2025-06-16 01:38:04 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
|
||||||
|
@ -1045,3 +1045,25 @@
|
|||||||
2025-06-16 01:27:48 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
2025-06-16 01:27:48 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
2025-06-16 01:27:48 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
2025-06-16 01:27:48 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
2025-06-16 01:27:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
2025-06-16 01:27:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:30:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:30:01 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
|
2025-06-16 01:30:01 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
|
2025-06-16 01:30:02 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:32:45 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:32:46 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
|
2025-06-16 01:32:46 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
|
2025-06-16 01:32:47 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:33:06 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:33:07 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
|
2025-06-16 01:33:07 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
|
2025-06-16 01:33:08 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:01 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:03 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
|
2025-06-16 01:38:03 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
|
2025-06-16 01:38:04 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:04 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
|
||||||
|
2025-06-16 01:38:04 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
|
||||||
|
2025-06-16 01:38:05 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:46 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
2025-06-16 01:38:46 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilität)
|
||||||
|
@ -913,3 +913,7 @@ sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) FOREIGN KEY constraint f
|
|||||||
2025-06-16 01:17:39 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
2025-06-16 01:17:39 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
||||||
2025-06-16 01:18:05 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
|
2025-06-16 01:18:05 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
|
||||||
2025-06-16 01:18:05 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
2025-06-16 01:18:05 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
||||||
|
2025-06-16 01:29:34 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
|
||||||
|
2025-06-16 01:29:34 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
||||||
|
2025-06-16 01:38:32 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True)
|
||||||
|
2025-06-16 01:38:32 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1)
|
||||||
|
@ -533,3 +533,13 @@
|
|||||||
2025-06-16 01:27:47 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
2025-06-16 01:27:47 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
2025-06-16 01:27:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
2025-06-16 01:27:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
2025-06-16 01:27:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
2025-06-16 01:27:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:30:02 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
|
2025-06-16 01:30:02 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:32:47 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
|
2025-06-16 01:32:47 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:33:07 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
|
2025-06-16 01:33:07 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:03 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
|
2025-06-16 01:38:03 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:05 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ✅ Monitoring & Analytics Module initialisiert
|
||||||
|
2025-06-16 01:38:05 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - 📊 MASSIVE Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
@ -209,3 +209,8 @@ WHERE users.role = ?]
|
|||||||
2025-06-16 01:17:02 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
2025-06-16 01:17:02 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
2025-06-16 01:27:47 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
2025-06-16 01:27:47 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
2025-06-16 01:27:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
2025-06-16 01:27:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:30:02 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:32:47 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:33:08 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:38:03 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
2025-06-16 01:38:05 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert
|
||||||
|
@ -1459,3 +1459,18 @@
|
|||||||
2025-06-16 01:27:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
2025-06-16 01:27:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
2025-06-16 01:27:49 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
2025-06-16 01:27:49 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
2025-06-16 01:27:49 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
2025-06-16 01:27:49 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
2025-06-16 01:30:01 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-06-16 01:30:02 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
|
2025-06-16 01:30:02 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
2025-06-16 01:32:46 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-06-16 01:32:47 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
|
2025-06-16 01:32:47 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
2025-06-16 01:33:07 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-06-16 01:33:08 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
|
2025-06-16 01:33:08 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
2025-06-16 01:38:03 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-06-16 01:38:04 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
|
2025-06-16 01:38:04 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
2025-06-16 01:38:04 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-06-16 01:38:05 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||||
|
2025-06-16 01:38:05 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||||
|
@ -800,3 +800,18 @@
|
|||||||
2025-06-16 01:27:48 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
2025-06-16 01:27:48 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
2025-06-16 01:27:48 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
2025-06-16 01:27:48 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
2025-06-16 01:27:49 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
2025-06-16 01:27:49 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
2025-06-16 01:30:01 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
|
2025-06-16 01:30:01 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:30:02 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
2025-06-16 01:32:46 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
|
2025-06-16 01:32:46 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:32:47 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
2025-06-16 01:33:07 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
|
2025-06-16 01:33:07 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:33:08 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
2025-06-16 01:38:03 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
|
2025-06-16 01:38:03 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:03 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
2025-06-16 01:38:04 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
|
||||||
|
2025-06-16 01:38:04 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
|
||||||
|
2025-06-16 01:38:05 - [security_suite] security_suite - [INFO] INFO - 🔒 Security Suite initialisiert
|
||||||
|
@ -2077,3 +2077,38 @@
|
|||||||
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:27:49.391627
|
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:27:49.391627
|
||||||
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - ==================================================
|
2025-06-16 01:27:49 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:30:02.621846
|
||||||
|
2025-06-16 01:30:02 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:32:47.003193
|
||||||
|
2025-06-16 01:32:47 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:33:07.974101
|
||||||
|
2025-06-16 01:33:07 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:38:03.819366
|
||||||
|
2025-06-16 01:38:03 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet...
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.11.2 (main, Mar 05 2023, 19:08:04) [GCC]
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: posix (linux)
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: /cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-16T01:38:05.452544
|
||||||
|
2025-06-16 01:38:05 - [startup] startup - [INFO] INFO - ==================================================
|
||||||
|
@ -1790,3 +1790,8 @@
|
|||||||
2025-06-16 01:17:41 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100
|
2025-06-16 01:17:41 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ Alle 3 Versuche fehlgeschlagen beim einschalten der Tapo-Steckdose 192.168.0.100
|
||||||
2025-06-16 01:27:46 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
2025-06-16 01:27:46 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
2025-06-16 01:27:48 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
2025-06-16 01:27:48 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
2025-06-16 01:30:01 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
2025-06-16 01:32:46 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
2025-06-16 01:33:07 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
2025-06-16 01:38:03 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
2025-06-16 01:38:04 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
|
||||||
|
@ -233,3 +233,8 @@
|
|||||||
2025-06-16 01:17:01 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
2025-06-16 01:17:01 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
2025-06-16 01:27:46 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
2025-06-16 01:27:46 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
2025-06-16 01:27:48 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
2025-06-16 01:27:48 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
2025-06-16 01:30:01 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
2025-06-16 01:32:46 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
2025-06-16 01:33:07 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
2025-06-16 01:38:03 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
2025-06-16 01:38:04 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager mit Session-Caching initialisiert
|
||||||
|
@ -95,3 +95,5 @@
|
|||||||
2025-06-15 23:55:47 - [user] user - [INFO] INFO - User admin retrieved settings via API
|
2025-06-15 23:55:47 - [user] user - [INFO] INFO - User admin retrieved settings via API
|
||||||
2025-06-16 00:23:14 - [user] user - [INFO] INFO - User admin accessed settings page
|
2025-06-16 00:23:14 - [user] user - [INFO] INFO - User admin accessed settings page
|
||||||
2025-06-16 00:23:14 - [user] user - [INFO] INFO - User admin retrieved settings via API
|
2025-06-16 00:23:14 - [user] user - [INFO] INFO - User admin retrieved settings via API
|
||||||
|
2025-06-16 01:38:20 - [user] user - [INFO] INFO - User admin accessed settings page
|
||||||
|
2025-06-16 01:38:20 - [user] user - [INFO] INFO - User admin retrieved settings via API
|
||||||
|
@ -695,3 +695,21 @@
|
|||||||
2025-06-16 01:27:46 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
2025-06-16 01:27:46 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
2025-06-16 01:27:48 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
2025-06-16 01:27:48 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
2025-06-16 01:27:48 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
2025-06-16 01:27:48 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:30:01 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:30:01 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:32:46 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:32:46 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:33:07 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:33:07 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:34:27 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:34:27 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:34:39 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:34:39 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:34:53 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:34:53 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:35:09 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:35:09 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:38:02 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:38:02 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
2025-06-16 01:38:04 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
|
||||||
|
2025-06-16 01:38:04 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
|
||||||
|
@ -1036,6 +1036,7 @@ class GuestRequest(Base):
|
|||||||
|
|
||||||
# OTP-Verwaltung erweitert
|
# OTP-Verwaltung erweitert
|
||||||
otp_expires_at = Column(DateTime, nullable=True) # Ablaufzeit des OTP-Codes
|
otp_expires_at = Column(DateTime, nullable=True) # Ablaufzeit des OTP-Codes
|
||||||
|
otp_code_plain = Column(String(10), nullable=True) # OTP-Code im Klartext für Admin-Anzeige
|
||||||
assigned_printer_id = Column(Integer, ForeignKey("printers.id"), nullable=True) # Zugewiesener Drucker
|
assigned_printer_id = Column(Integer, ForeignKey("printers.id"), nullable=True) # Zugewiesener Drucker
|
||||||
|
|
||||||
# Beziehungen
|
# Beziehungen
|
||||||
@ -1080,6 +1081,7 @@ class GuestRequest(Base):
|
|||||||
"approved_by": self.approved_by,
|
"approved_by": self.approved_by,
|
||||||
"rejected_by": self.rejected_by,
|
"rejected_by": self.rejected_by,
|
||||||
"otp_expires_at": self.otp_expires_at.isoformat() if self.otp_expires_at else None,
|
"otp_expires_at": self.otp_expires_at.isoformat() if self.otp_expires_at else None,
|
||||||
|
"otp_code_plain": self.otp_code_plain, # Klartext für Admin-Anzeige
|
||||||
"assigned_printer_id": self.assigned_printer_id,
|
"assigned_printer_id": self.assigned_printer_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1100,6 +1102,9 @@ class GuestRequest(Base):
|
|||||||
salt = bcrypt.gensalt()
|
salt = bcrypt.gensalt()
|
||||||
self.otp_code = bcrypt.hashpw(otp_bytes, salt).decode('utf-8')
|
self.otp_code = bcrypt.hashpw(otp_bytes, salt).decode('utf-8')
|
||||||
|
|
||||||
|
# Klartext-Version für Admin-Anzeige speichern
|
||||||
|
self.otp_code_plain = otp_plain
|
||||||
|
|
||||||
# Ablaufzeit setzen (72 Stunden ab jetzt)
|
# Ablaufzeit setzen (72 Stunden ab jetzt)
|
||||||
self.otp_expires_at = datetime.now() + timedelta(hours=72)
|
self.otp_expires_at = datetime.now() + timedelta(hours=72)
|
||||||
|
|
||||||
|
@ -279,6 +279,14 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
TBA-Anträge
|
TBA-Anträge
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ url_for('admin.guest_otps_management') }}"
|
||||||
|
class="group flex items-center px-6 py-3 text-sm font-medium rounded-xl transition-all duration-300 {{ 'bg-gradient-to-r from-blue-500 to-blue-600 text-white shadow-lg' if active_tab == 'guest_otps' else 'text-slate-600 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-700/50 hover:text-slate-900 dark:hover:text-white' }}">
|
||||||
|
<svg class="w-5 h-5 mr-2 {{ 'text-white' if active_tab == 'guest_otps' else 'text-slate-400 group-hover:text-slate-600 dark:group-hover:text-slate-300' }}" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 7a2 2 0 012 2m0 0a2 2 0 012 2m-4-4v8a2 2 0 01-2 2H9a2 2 0 01-2-2V9a2 2 0 012-2h2m0 0V6a2 2 0 012-2h2a2 2 0 012 2v1m-4 0h4"/>
|
||||||
|
</svg>
|
||||||
|
🔑 OTP-Codes
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="{{ url_for('admin.tapo_monitoring') }}"
|
<a href="{{ url_for('admin.tapo_monitoring') }}"
|
||||||
class="group flex items-center px-6 py-3 text-sm font-medium rounded-xl transition-all duration-300 {{ 'bg-gradient-to-r from-blue-500 to-blue-600 text-white shadow-lg' if active_tab == 'tapo_monitoring' else 'text-slate-600 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-700/50 hover:text-slate-900 dark:hover:text-white' }}">
|
class="group flex items-center px-6 py-3 text-sm font-medium rounded-xl transition-all duration-300 {{ 'bg-gradient-to-r from-blue-500 to-blue-600 text-white shadow-lg' if active_tab == 'tapo_monitoring' else 'text-slate-600 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-700/50 hover:text-slate-900 dark:hover:text-white' }}">
|
||||||
<svg class="w-5 h-5 mr-2 {{ 'text-white' if active_tab == 'tapo_monitoring' else 'text-slate-400 group-hover:text-slate-600 dark:group-hover:text-slate-300' }}" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5 mr-2 {{ 'text-white' if active_tab == 'tapo_monitoring' else 'text-slate-400 group-hover:text-slate-600 dark:group-hover:text-slate-300' }}" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user