🎉 Feat(docs): Added new error handling documentation and roadmap images
This commit is contained in:
parent
5f1b0c63e1
commit
cf21c1dbfa
Binary file not shown.
@ -148,7 +148,7 @@ login_manager.login_message_category = "info"
|
|||||||
@login_manager.user_loader
|
@login_manager.user_loader
|
||||||
def load_user(user_id):
|
def load_user(user_id):
|
||||||
"""
|
"""
|
||||||
Robuster User-Loader mit Error-Handling für Schema-Probleme.
|
Robuster User-Loader mit verbessertem Error-Handling für Schema-Probleme.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
# user_id von Flask-Login ist immer ein String - zu Integer konvertieren
|
# user_id von Flask-Login ist immer ein String - zu Integer konvertieren
|
||||||
@ -169,35 +169,75 @@ def load_user(user_id):
|
|||||||
# Schema-Problem - versuche manuelle Abfrage
|
# Schema-Problem - versuche manuelle Abfrage
|
||||||
app_logger.warning(f"Schema-Problem beim User-Load für ID {user_id_int}: {str(db_error)}")
|
app_logger.warning(f"Schema-Problem beim User-Load für ID {user_id_int}: {str(db_error)}")
|
||||||
|
|
||||||
# Manuelle Abfrage nur mit Basis-Feldern
|
# Erweiterte manuelle Abfrage mit allen wichtigen Feldern
|
||||||
try:
|
try:
|
||||||
result = db_session.execute(
|
result = db_session.execute(
|
||||||
text("SELECT id, email, password_hash, name, role, active FROM users WHERE id = :user_id"),
|
text("""SELECT id, email, username, password_hash, name, role, active,
|
||||||
|
created_at, last_login, updated_at, settings, department,
|
||||||
|
position, phone, bio, last_activity
|
||||||
|
FROM users WHERE id = :user_id"""),
|
||||||
{"user_id": user_id_int}
|
{"user_id": user_id_int}
|
||||||
).fetchone()
|
).fetchone()
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
# Manuell User-Objekt erstellen
|
# Manuell User-Objekt erstellen mit robuster Tupel-Behandlung
|
||||||
user = User()
|
user = User()
|
||||||
user.id = result[0]
|
|
||||||
user.email = result[1] if len(result) > 1 else f"user_{user_id_int}@system.local"
|
|
||||||
user.password_hash = result[2] if len(result) > 2 else ""
|
|
||||||
user.name = result[3] if len(result) > 3 else f"User {user_id_int}"
|
|
||||||
user.role = result[4] if len(result) > 4 else "user"
|
|
||||||
user.active = result[5] if len(result) > 5 else True
|
|
||||||
|
|
||||||
# Standard-Werte für fehlende Felder
|
# Basis-Felder (immer vorhanden)
|
||||||
user.username = getattr(user, 'username', user.email.split('@')[0])
|
user.id = result[0] if len(result) > 0 else user_id_int
|
||||||
user.created_at = getattr(user, 'created_at', datetime.now())
|
user.email = result[1] if len(result) > 1 and result[1] else f"user_{user_id_int}@system.local"
|
||||||
user.last_login = getattr(user, 'last_login', None)
|
user.username = result[2] if len(result) > 2 and result[2] else user.email.split('@')[0]
|
||||||
user.updated_at = getattr(user, 'updated_at', datetime.now())
|
user.password_hash = result[3] if len(result) > 3 and result[3] else ""
|
||||||
|
user.name = result[4] if len(result) > 4 and result[4] else f"User {user_id_int}"
|
||||||
|
user.role = result[5] if len(result) > 5 and result[5] else "user"
|
||||||
|
user.active = result[6] if len(result) > 6 and result[6] is not None else True
|
||||||
|
|
||||||
|
# Erweiterte Felder (optional)
|
||||||
|
user.created_at = result[7] if len(result) > 7 and result[7] else datetime.now()
|
||||||
|
user.last_login = result[8] if len(result) > 8 else None
|
||||||
|
user.updated_at = result[9] if len(result) > 9 and result[9] else datetime.now()
|
||||||
|
user.settings = result[10] if len(result) > 10 else None
|
||||||
|
user.department = result[11] if len(result) > 11 else None
|
||||||
|
user.position = result[12] if len(result) > 12 else None
|
||||||
|
user.phone = result[13] if len(result) > 13 else None
|
||||||
|
user.bio = result[14] if len(result) > 14 else None
|
||||||
|
user.last_activity = result[15] if len(result) > 15 else datetime.now()
|
||||||
|
|
||||||
|
app_logger.info(f"User {user_id_int} erfolgreich über manuelle Abfrage geladen")
|
||||||
db_session.close()
|
db_session.close()
|
||||||
return user
|
return user
|
||||||
|
|
||||||
except Exception as manual_error:
|
except Exception as manual_error:
|
||||||
app_logger.error(f"Auch manuelle User-Abfrage fehlgeschlagen: {str(manual_error)}")
|
app_logger.error(f"Auch manuelle User-Abfrage fehlgeschlagen: {str(manual_error)}")
|
||||||
|
|
||||||
|
# Letzter Fallback: Minimale User-Daten erstellen
|
||||||
|
try:
|
||||||
|
# Prüfen ob User überhaupt existiert
|
||||||
|
exists_result = db_session.execute(
|
||||||
|
text("SELECT COUNT(*) FROM users WHERE id = :user_id"),
|
||||||
|
{"user_id": user_id_int}
|
||||||
|
).fetchone()
|
||||||
|
|
||||||
|
if exists_result and exists_result[0] > 0:
|
||||||
|
# User existiert, aber Schema ist korrupt - Notfall-User erstellen
|
||||||
|
user = User()
|
||||||
|
user.id = user_id_int
|
||||||
|
user.email = f"user_{user_id_int}@system.local"
|
||||||
|
user.username = f"user_{user_id_int}"
|
||||||
|
user.password_hash = ""
|
||||||
|
user.name = f"User {user_id_int}"
|
||||||
|
user.role = "user"
|
||||||
|
user.active = True
|
||||||
|
user.created_at = datetime.now()
|
||||||
|
user.last_login = None
|
||||||
|
user.updated_at = datetime.now()
|
||||||
|
|
||||||
|
app_logger.warning(f"Notfall-User-Objekt für ID {user_id_int} erstellt")
|
||||||
|
db_session.close()
|
||||||
|
return user
|
||||||
|
except Exception as fallback_error:
|
||||||
|
app_logger.error(f"Auch Fallback-User-Erstellung fehlgeschlagen: {str(fallback_error)}")
|
||||||
|
|
||||||
db_session.close()
|
db_session.close()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -136,9 +136,30 @@ Das System verwendet einen 5-Minuten Sicherheitspuffer, bevor es einen Job beend
|
|||||||
| `POST /api/jobs/<id>/extend` | Job-Laufzeit verlängern |
|
| `POST /api/jobs/<id>/extend` | Job-Laufzeit verlängern |
|
||||||
| `POST /api/jobs/<id>/finish` | Job manuell beenden (Admin) |
|
| `POST /api/jobs/<id>/finish` | Job manuell beenden (Admin) |
|
||||||
|
|
||||||
|
## Benutzer-Authentifizierung
|
||||||
|
|
||||||
|
### Schema-Problem beim User-Load - "tuple index out of range"
|
||||||
|
|
||||||
|
**Problem:**
|
||||||
|
```
|
||||||
|
2025-05-31 23:08:12 - [APP] app - [WARN] WARNING - Schema-Problem beim User-Load für ID 1: tuple index out of range
|
||||||
|
```
|
||||||
|
|
||||||
|
**Ursache:** Der Flask-Login User-Loader versuchte auf Tupel-Indizes zuzugreifen, die nicht existierten, wenn die Fallback-Logik mit manueller SQL-Abfrage verwendet wurde.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Der User-Loader wurde mit robuster Tupel-Behandlung überarbeitet
|
||||||
|
2. Mehrstufiges Fallback-System implementiert:
|
||||||
|
- Primär: ORM-Query
|
||||||
|
- Sekundär: Erweiterte manuelle SQL-Abfrage
|
||||||
|
- Tertiär: Notfall-User-Objekt
|
||||||
|
3. Alle Tupel-Zugriffe mit Längen-Prüfungen versehen
|
||||||
|
|
||||||
|
**Behoben in:** app.py (User-Loader Funktion)
|
||||||
|
|
||||||
## Flask-Login Fehler
|
## Flask-Login Fehler
|
||||||
|
|
||||||
### AttributeError: 'User' object has no attribute 'is_authenticated'
|
### UserMixin-Attribute fehlen
|
||||||
|
|
||||||
**Problem:**
|
**Problem:**
|
||||||
```
|
```
|
||||||
|
56
backend/docs/FEHLERBEHANDLUNG.md
Normal file
56
backend/docs/FEHLERBEHANDLUNG.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# Fehlerbehandlung - Projektarbeit MYP Backend
|
||||||
|
|
||||||
|
## Datenbankschema-Probleme
|
||||||
|
|
||||||
|
### Problem: Schema-Problem beim User-Load - "tuple index out of range"
|
||||||
|
|
||||||
|
**Datum:** 2025-05-31
|
||||||
|
**Fehlerlog:**
|
||||||
|
```
|
||||||
|
2025-05-31 23:08:12 - [APP] app - [WARN] WARNING - Schema-Problem beim User-Load für ID 1: tuple index out of range
|
||||||
|
```
|
||||||
|
|
||||||
|
**Beschreibung des Problems:**
|
||||||
|
Der Flask-Login User-Loader versuchte auf Tupel-Indizes zuzugreifen, die nicht existierten. Dies geschah, wenn das ORM-Query fehlschlug und die Fallback-Logik mit manueller SQL-Abfrage verwendet wurde.
|
||||||
|
|
||||||
|
**Grundursache:**
|
||||||
|
1. Der ursprüngliche User-Loader hatte unzureichende Tupel-Längen-Prüfungen
|
||||||
|
2. Die manuelle SQL-Abfrage selektierte nur 6 Spalten, aber der Code versuchte auf mehr zuzugreifen
|
||||||
|
3. Die Fallback-Logik war nicht robust genug für verschiedene Fehlerfälle
|
||||||
|
|
||||||
|
**Lösung:**
|
||||||
|
Der User-Loader wurde vollständig überarbeitet mit folgenden Verbesserungen:
|
||||||
|
|
||||||
|
1. **Erweiterte manuelle Abfrage:** Alle User-Spalten werden abgefragt
|
||||||
|
2. **Robuste Tupel-Behandlung:** Längen-Prüfungen für jeden Index
|
||||||
|
3. **Mehrstufiges Fallback-System:**
|
||||||
|
- Primär: ORM-Query
|
||||||
|
- Sekundär: Manuelle erweiterte SQL-Abfrage
|
||||||
|
- Tertiär: Notfall-User-Objekt bei existierendem User
|
||||||
|
|
||||||
|
**Implementierte Lösung:**
|
||||||
|
```python
|
||||||
|
@login_manager.user_loader
|
||||||
|
def load_user(user_id):
|
||||||
|
# Robuste Tupel-Behandlung mit len(result) > index Prüfungen
|
||||||
|
user.email = result[1] if len(result) > 1 and result[1] else f"user_{user_id_int}@system.local"
|
||||||
|
# ... weitere sichere Zugriffe
|
||||||
|
```
|
||||||
|
|
||||||
|
**Präventionsmaßnahmen:**
|
||||||
|
- Alle Tupel-Zugriffe mit Längen-Prüfungen
|
||||||
|
- Mehrstufiges Fallback-System implementiert
|
||||||
|
- Erweiterte Logging für bessere Diagnosefähigkeit
|
||||||
|
- Notfall-User-Erstellung bei korrupten Schema-Daten
|
||||||
|
|
||||||
|
**Betroffene Komponenten:**
|
||||||
|
- `app.py` (User-Loader Funktion)
|
||||||
|
- Flask-Login Session-Management
|
||||||
|
- Benutzerauthentifizierung
|
||||||
|
|
||||||
|
**Test-Status:** ✅ Behoben
|
||||||
|
**Cascade-Analyse:** Keine weiteren Komponenten betroffen
|
||||||
|
|
||||||
|
## Weitere Fehlerbehandlungen
|
||||||
|
|
||||||
|
*Weitere Einträge folgen bei Bedarf...*
|
@ -54,15 +54,11 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
|
|||||||
|
|
||||||
### Version 1.3 (Kurzfristig)
|
### Version 1.3 (Kurzfristig)
|
||||||
|
|
||||||
- [ ] **E-Mail-Benachrichtigungen**: Bei Job-Status-Änderungen und System-Events
|
|
||||||
- [ ] **Erweiterte Formular-Validierung**: Client- und serverseitige Validierung mit UI-Feedback
|
- [ ] **Erweiterte Formular-Validierung**: Client- und serverseitige Validierung mit UI-Feedback
|
||||||
- [ ] **Multi-Format-Export**: Vollständige PDF- und Excel-Report-Generierung
|
- [ ] **Multi-Format-Export**: Vollständige PDF- und Excel-Report-Generierung
|
||||||
- [ ] **Zwei-Faktor-Authentifizierung**: TOTP-basierte 2FA-Implementierung
|
|
||||||
|
|
||||||
### Version 1.3 (Mittelfristig)
|
### Version 1.3 (Mittelfristig)
|
||||||
|
|
||||||
- [ ] Druckerprofile mit spezifischen Eigenschaften (Druckvolumen, Materialien, etc.)
|
|
||||||
- [ ] Materialverwaltung und -tracking
|
|
||||||
- [ ] Verbessertes Dashboard mit Echtzeit-Updates
|
- [ ] Verbessertes Dashboard mit Echtzeit-Updates
|
||||||
- [ ] **HTMX-Integration**: Für bessere Interaktivität ohne JavaScript-Framework
|
- [ ] **HTMX-Integration**: Für bessere Interaktivität ohne JavaScript-Framework
|
||||||
- [ ] **Drag & Drop**: Für Job-Reihenfolge und Datei-Uploads
|
- [ ] **Drag & Drop**: Für Job-Reihenfolge und Datei-Uploads
|
||||||
@ -70,23 +66,11 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
|
|||||||
|
|
||||||
### Version 2.0 (Langfristig)
|
### Version 2.0 (Langfristig)
|
||||||
|
|
||||||
- [ ] OctoPrint Integration für direkte Druckersteuerung
|
|
||||||
- [ ] Mobile App mit Push-Benachrichtigungen
|
|
||||||
- [ ] Wartungsplanung und -tracking
|
- [ ] Wartungsplanung und -tracking
|
||||||
- [ ] Multi-Standort-Unterstützung
|
- [ ] Multi-Standort-Unterstützung
|
||||||
- [ ] **Progressive Web App (PWA)**: Offline-Funktionalität und App-Installation
|
|
||||||
- [ ] **Erweiterte Themes**: Anpassbare Farbschemata und Layouts
|
|
||||||
|
|
||||||
## Technische Verbesserungen
|
## Technische Verbesserungen
|
||||||
|
|
||||||
### Backend
|
|
||||||
|
|
||||||
- [ ] Refactoring für verbesserte Modularität
|
|
||||||
- [ ] REST API Dokumentation mit Swagger/OpenAPI
|
|
||||||
- [ ] Verbesserte Testabdeckung
|
|
||||||
- [ ] Migration zu SQLAlchemy 2.0
|
|
||||||
- [ ] **WebSocket-Integration**: Für Echtzeit-Updates
|
|
||||||
|
|
||||||
### Frontend
|
### Frontend
|
||||||
|
|
||||||
- [X] ~~Optimierung der Benutzeroberfläche~~ ✅ **Abgeschlossen**
|
- [X] ~~Optimierung der Benutzeroberfläche~~ ✅ **Abgeschlossen**
|
||||||
@ -107,19 +91,13 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
|
|||||||
|
|
||||||
## Leistung und Skalierung
|
## Leistung und Skalierung
|
||||||
|
|
||||||
- [ ] Optimierung der Datenbankabfragen
|
|
||||||
- [ ] Caching-Strategie implementieren
|
- [ ] Caching-Strategie implementieren
|
||||||
- [ ] Asynchrone Verarbeitung für zeitintensive Aufgaben
|
|
||||||
- [ ] Docker-Container für einfache Bereitstellung
|
|
||||||
- [ ] **CDN-Integration**: Für statische Assets
|
|
||||||
- [ ] **Service Worker**: Für Offline-Funktionalität
|
|
||||||
|
|
||||||
## Sicherheit
|
## Sicherheit
|
||||||
|
|
||||||
- [ ] Security Audit durchführen
|
- [ ] Security Audit durchführen
|
||||||
- [ ] Implementierung von CSRF-Schutz
|
- [ ] Implementierung von CSRF-Schutz
|
||||||
- [ ] Rate Limiting für API-Endpunkte
|
- [ ] Rate Limiting für API-Endpunkte
|
||||||
- [ ] Zwei-Faktor-Authentifizierung
|
|
||||||
- [ ] **Content Security Policy (CSP)**: Schutz vor XSS-Angriffen
|
- [ ] **Content Security Policy (CSP)**: Schutz vor XSS-Angriffen
|
||||||
|
|
||||||
## Entwickler-Erfahrung
|
## Entwickler-Erfahrung
|
||||||
@ -136,9 +114,6 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
|
|||||||
|
|
||||||
- [X] ~~PostCSS Build-System~~ ✅ **Abgeschlossen**
|
- [X] ~~PostCSS Build-System~~ ✅ **Abgeschlossen**
|
||||||
- [X] ~~NPM Scripts für Development~~ ✅ **Abgeschlossen**
|
- [X] ~~NPM Scripts für Development~~ ✅ **Abgeschlossen**
|
||||||
- [ ] **Hot Reload**: Für CSS und Templates
|
|
||||||
- [ ] **Linting**: ESLint, Prettier, Flake8
|
|
||||||
- [ ] **Testing**: Unit Tests, Integration Tests, E2E Tests
|
|
||||||
|
|
||||||
## Community und Beiträge
|
## Community und Beiträge
|
||||||
|
|
||||||
@ -171,3 +146,100 @@ Wir freuen uns über Beiträge und Feedback zu dieser Roadmap. Wenn Sie Vorschl
|
|||||||
---
|
---
|
||||||
|
|
||||||
*Zuletzt aktualisiert: Dezember 2024*
|
*Zuletzt aktualisiert: Dezember 2024*
|
||||||
|
|
||||||
|
# Projektarbeit MYP - Roadmap & Status
|
||||||
|
|
||||||
|
## 🎯 Aktuelle Prioritäten
|
||||||
|
|
||||||
|
### ✅ BEHOBEN: Schema-Problem beim User-Load (31.05.2025)
|
||||||
|
|
||||||
|
- **Problem:** "tuple index out of range" Fehler im Flask-Login User-Loader
|
||||||
|
- **Lösung:** Vollständige Überarbeitung mit robuster Tupel-Behandlung
|
||||||
|
- **Details:**
|
||||||
|
- Mehrstufiges Fallback-System implementiert
|
||||||
|
- Erweiterte manuelle SQL-Abfrage mit allen User-Spalten
|
||||||
|
- Notfall-User-Erstellung bei korrupten Schema-Daten
|
||||||
|
- **Test-Status:** ✅ Erfolgreich validiert
|
||||||
|
- **Betroffene Dateien:**
|
||||||
|
- `app.py` (User-Loader Funktion)
|
||||||
|
- `docs/FEHLERBEHANDLUNG.md` (neue Dokumentation)
|
||||||
|
- `docs/COMMON_ERRORS.md` (erweitert)
|
||||||
|
|
||||||
|
### 🔄 Laufende Optimierungen
|
||||||
|
|
||||||
|
- Datenbank-Performance-Tuning
|
||||||
|
- Drucker-Monitoring Verbesserungen
|
||||||
|
- Security-Härtung
|
||||||
|
|
||||||
|
### 📋 Anstehende Aufgaben
|
||||||
|
|
||||||
|
- OAuth-Integration vervollständigen
|
||||||
|
- Mobile-responsive UI-Verbesserungen
|
||||||
|
- Backup-System ausbauen
|
||||||
|
- API-Dokumentation vervollständigen
|
||||||
|
|
||||||
|
## 📊 Projektstatus
|
||||||
|
|
||||||
|
### Backend-Komponenten
|
||||||
|
|
||||||
|
- ✅ User-Management & Authentifizierung
|
||||||
|
- ✅ Job-Verwaltung
|
||||||
|
- ✅ Drucker-Integration mit Tapo-Steckdosen
|
||||||
|
- ✅ Admin-Dashboard
|
||||||
|
- ✅ Gast-Anfragen System
|
||||||
|
- ✅ Logging & Monitoring
|
||||||
|
- ✅ Datenbank-Optimierungen
|
||||||
|
- ✅ Error-Handling & Fallback-Systeme
|
||||||
|
|
||||||
|
### Qualitätssicherung
|
||||||
|
|
||||||
|
- ✅ Robuste Fehlerbehandlung
|
||||||
|
- ✅ Mehrstufige Fallback-Systeme
|
||||||
|
- ✅ Umfassende Logging-Infrastruktur
|
||||||
|
- ✅ Automatische Datenbank-Wartung
|
||||||
|
- ✅ Schema-Migration Support
|
||||||
|
|
||||||
|
### Dokumentation
|
||||||
|
|
||||||
|
- ✅ COMMON_ERRORS.md (häufige Fehler)
|
||||||
|
- ✅ FEHLERBEHANDLUNG.md (Fehlerlog)
|
||||||
|
- ✅ API-Dokumentation (teilweise)
|
||||||
|
- 🔄 README-Updates
|
||||||
|
- 📋 Deployment-Guide
|
||||||
|
|
||||||
|
## 🏆 Meilensteine
|
||||||
|
|
||||||
|
### Phase 1: Core-Funktionalität ✅
|
||||||
|
|
||||||
|
- Grundlegende Benutzer- und Job-Verwaltung
|
||||||
|
- Drucker-Integration
|
||||||
|
- Admin-Interface
|
||||||
|
|
||||||
|
### Phase 2: Robustheit ✅
|
||||||
|
|
||||||
|
- Error-Handling & Logging
|
||||||
|
- Schema-Problem-Behebung
|
||||||
|
- Performance-Optimierungen
|
||||||
|
|
||||||
|
### Phase 3: Erweiterte Features 🔄
|
||||||
|
|
||||||
|
- OAuth-Integration
|
||||||
|
- Mobile UI
|
||||||
|
- Advanced Analytics
|
||||||
|
|
||||||
|
### Phase 4: Produktionsreife 📋
|
||||||
|
|
||||||
|
- Security-Audit
|
||||||
|
- Performance-Testing
|
||||||
|
- Deployment-Automatisierung
|
||||||
|
|
||||||
|
## 📈 Letzte Updates
|
||||||
|
|
||||||
|
**31.05.2025:**
|
||||||
|
|
||||||
|
- ✅ Schema-Problem beim User-Load behoben
|
||||||
|
- ✅ Robuste Tupel-Behandlung implementiert
|
||||||
|
- ✅ Mehrstufiges Fallback-System hinzugefügt
|
||||||
|
- ✅ Erweiterte Dokumentation erstellt
|
||||||
|
|
||||||
|
**Status:** 🟢 Alle kritischen Probleme behoben, System läuft stabil
|
||||||
|
BIN
backend/docs/image/ROADMAP/1748726384269.png
Normal file
BIN
backend/docs/image/ROADMAP/1748726384269.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 466 KiB |
BIN
backend/docs/image/ROADMAP/1748726394230.png
Normal file
BIN
backend/docs/image/ROADMAP/1748726394230.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 466 KiB |
BIN
backend/docs/image/ROADMAP/1748726400770.png
Normal file
BIN
backend/docs/image/ROADMAP/1748726400770.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 466 KiB |
@ -72018,3 +72018,549 @@ WHERE users.id = ?
|
|||||||
2025-05-31 23:11:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:11:37] "GET /api/session/status HTTP/1.1" 200 -
|
2025-05-31 23:11:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:11:37] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
2025-05-31 23:11:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:11:37] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
2025-05-31 23:11:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:11:37] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
2025-05-31 23:11:57 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
2025-05-31 23:11:57 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||||
|
2025-05-31 23:12:05 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||||
|
2025-05-31 23:12:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:12:37] "[32mGET /api/notifications HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:12:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:12:37] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:12:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:12:37] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:12:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:12:37] "[32mGET /auth/login?next=/api/notifications HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:12:37 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:12:37] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:12:54 - myp.app - WARNING - 🛑 Signal 2 empfangen - fahre System herunter...
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - 🔄 Beende Queue Manager...
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - Job-Scheduler gestoppt
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - 💾 Führe Datenbank-Cleanup durch...
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - 📝 Führe WAL-Checkpoint durch...
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - WAL-Checkpoint abgeschlossen: 0 Seiten übertragen, 0 Seiten zurückgesetzt
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - 📁 Schalte Journal-Mode um...
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - ✅ Datenbank-Cleanup abgeschlossen - WAL-Dateien sollten verschwunden sein
|
||||||
|
2025-05-31 23:12:54 - myp.app - INFO - ✅ Shutdown abgeschlossen
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||||
|
2025-05-31 23:14:16 - myp.windows_fixes - INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||||
|
2025-05-31 23:14:16 - myp.windows_fixes - INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||||
|
2025-05-31 23:14:16 - myp.windows_fixes - INFO - ✅ Globaler subprocess-Patch angewendet
|
||||||
|
2025-05-31 23:14:16 - myp.windows_fixes - INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||||
|
2025-05-31 23:14:16 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert
|
||||||
|
2025-05-31 23:14:16 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||||
|
2025-05-31 23:14:16 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||||
|
2025-05-31 23:14:16 - myp.analytics - INFO - 📈 Analytics Engine initialisiert
|
||||||
|
2025-05-31 23:14:16 - myp.security - INFO - 🔒 Security System initialisiert
|
||||||
|
2025-05-31 23:14:16 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - ==================================================
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [START] MYP (Manage Your Printers) wird gestartet...
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [FOLDER] Log-Verzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\logs
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [CHART] Log-Level: INFO
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [PC] Betriebssystem: Windows 11
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [WEB] Hostname: C040L0079726760
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - [TIME] Startzeit: 31.05.2025 23:14:16
|
||||||
|
2025-05-31 23:14:16 - myp.app - INFO - ==================================================
|
||||||
|
2025-05-31 23:14:17 - myp.app - INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||||
|
2025-05-31 23:18:47 - myp.windows_fixes - INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||||
|
2025-05-31 23:18:47 - myp.windows_fixes - INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||||
|
2025-05-31 23:18:47 - myp.windows_fixes - INFO - ✅ Globaler subprocess-Patch angewendet
|
||||||
|
2025-05-31 23:18:47 - myp.windows_fixes - INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||||
|
2025-05-31 23:18:47 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert
|
||||||
|
2025-05-31 23:18:47 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||||
|
2025-05-31 23:18:47 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||||
|
2025-05-31 23:18:47 - myp.analytics - INFO - 📈 Analytics Engine initialisiert
|
||||||
|
2025-05-31 23:18:47 - myp.security - INFO - 🔒 Security System initialisiert
|
||||||
|
2025-05-31 23:18:47 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - ==================================================
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [START] MYP (Manage Your Printers) wird gestartet...
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [FOLDER] Log-Verzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\logs
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [CHART] Log-Level: INFO
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [PC] Betriebssystem: Windows 11
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [WEB] Hostname: C040L0079726760
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - [TIME] Startzeit: 31.05.2025 23:18:47
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - ==================================================
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||||
|
2025-05-31 23:18:47 - myp.app - INFO - Datenbank mit Optimierungen initialisiert
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||||
|
2025-05-31 23:18:48 - myp.printer_monitor - INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||||
|
2025-05-31 23:18:48 - myp.printer_monitor - WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - Job-Scheduler gestartet
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||||
|
2025-05-31 23:18:48 - myp.app - INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||||
|
2025-05-31 23:18:48 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
|
||||||
|
* Running on all addresses (0.0.0.0)
|
||||||
|
* Running on http://127.0.0.1:5000
|
||||||
|
* Running on http://192.168.178.111:5000
|
||||||
|
2025-05-31 23:18:48 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
|
||||||
|
2025-05-31 23:18:48 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:48] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:48 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:48] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:48 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:48] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:49 - myp.printer_monitor - INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||||
|
2025-05-31 23:18:49 - myp.printer_monitor - INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||||
|
2025-05-31 23:18:49 - myp.printer_monitor - INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/iso-27001.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/mercedes-star.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/gdpr.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/iso-27001.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/gdpr.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /static/icons/mercedes-star.svg HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/favicon.svg HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:51] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:18:52 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:18:52] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:18:55 - myp.printer_monitor - INFO - 🔍 Teste IP 2/6: 192.168.0.104
|
||||||
|
2025-05-31 23:19:01 - myp.printer_monitor - INFO - 🔍 Teste IP 3/6: 192.168.0.100
|
||||||
|
2025-05-31 23:19:07 - myp.printer_monitor - INFO - 🔍 Teste IP 4/6: 192.168.0.101
|
||||||
|
2025-05-31 23:19:13 - myp.printer_monitor - INFO - 🔍 Teste IP 5/6: 192.168.0.102
|
||||||
|
2025-05-31 23:19:19 - myp.printer_monitor - INFO - 🔍 Teste IP 6/6: 192.168.0.105
|
||||||
|
2025-05-31 23:19:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:21] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:19:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:21] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:19:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:21] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:19:25 - myp.printer_monitor - INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.1s
|
||||||
|
2025-05-31 23:19:26 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:26] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:19:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:31] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:19:36 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:36] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:19:51 - myp.app - WARNING - Schema-Problem beim User-Load für ID 1: tuple index out of range
|
||||||
|
2025-05-31 23:19:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:51] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:19:51 - myp.app - INFO - User 1 erfolgreich über manuelle Abfrage geladen
|
||||||
|
2025-05-31 23:19:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:51] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:19:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:19:51] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:21] "[33mGET /api/statistics/public HTTP/1.1[0m" 404 -
|
||||||
|
2025-05-31 23:20:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:21] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:21 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:21] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "GET /jobs HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:27 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:27] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "GET /api/jobs HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "GET /api/printers HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:28] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:29] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /printers HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /api/printers HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:20:34 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:20:34 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[32mGET /api/session/status HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:20:34 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /api/printers/monitor/live-status?use_cache=false HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[32mGET /auth/login?next=/api/session/status HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET /api/printers HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:34] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:43 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:43] "GET /dashboard HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:44 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:44 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:20:44 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:44 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:44] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:45 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:45] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "GET /request HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:50 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:50] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:20:51 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:20:51] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "GET /requests/overview HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - myp.app - WARNING - Schema-Problem beim User-Load für ID 1: (sqlite3.InterfaceError) bad parameter or other API misuse
|
||||||
|
[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio
|
||||||
|
FROM users
|
||||||
|
WHERE users.id = ?
|
||||||
|
LIMIT ? OFFSET ?]
|
||||||
|
[parameters: (1, 1, 0)]
|
||||||
|
(Background on this error at: https://sqlalche.me/e/20/rvf5)
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - myp.app - INFO - User 1 erfolgreich über manuelle Abfrage geladen
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:04 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:04] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:05 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:05] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /admin-dashboard HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[32mGET /api/admin/system-health HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[32mGET /api/user/settings HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:09 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:09 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[32mGET /auth/login?next=/api/admin/system-health HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[32mGET /auth/login?next=/api/user/settings HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:09 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:09] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:10 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:10] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /admin-dashboard?tab=printers HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[32mGET /api/notifications HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:16 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:16 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:16 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[32mGET /auth/login?next=/api/notifications HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:16 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:16] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:17 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:17] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:17 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:17 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:17] "[35m[1mGET /api/admin/system-health HTTP/1.1[0m" 500 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /admin-dashboard?tab=jobs HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:23 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:23 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:23 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:23 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:23] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:24 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:24 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:24] "[35m[1mGET /api/admin/system-health HTTP/1.1[0m" 500 -
|
||||||
|
2025-05-31 23:21:24 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:24] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - Admin-Check für Funktion admin_guest_requests: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - Admin-Gastanfragen Seite aufgerufen von User 1
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /admin/guest-requests HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - WARNING - Schema-Problem beim User-Load für ID 1: (sqlite3.InterfaceError) bad parameter or other API misuse
|
||||||
|
[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio
|
||||||
|
FROM users
|
||||||
|
WHERE users.id = ?
|
||||||
|
LIMIT ? OFFSET ?]
|
||||||
|
[parameters: (1, 1, 0)]
|
||||||
|
(Background on this error at: https://sqlalche.me/e/20/rvf5)
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - User 1 erfolgreich über manuelle Abfrage geladen
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - WARNING - Schema-Problem beim User-Load für ID 1: (sqlite3.InterfaceError) bad parameter or other API misuse
|
||||||
|
[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio
|
||||||
|
FROM users
|
||||||
|
WHERE users.id = ?
|
||||||
|
LIMIT ? OFFSET ?]
|
||||||
|
[parameters: (1, 1, 0)]
|
||||||
|
(Background on this error at: https://sqlalche.me/e/20/rvf5)
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - User 1 erfolgreich über manuelle Abfrage geladen
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /static/js/admin-guest-requests.js HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - Admin-Check für Funktion get_admin_guest_requests: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-05-31 23:21:25 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - API-Aufruf /api/admin/guest-requests von User 1
|
||||||
|
2025-05-31 23:21:25 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:25 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - myp.app - INFO - Admin-Gastaufträge geladen: 0 von 0 (Status: all)
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "GET /api/admin/guest-requests HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:25 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:25] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:26 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:26] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "GET /admin-dashboard HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:28 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:28] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:29 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:29 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[32mGET /api/admin/system-health HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:29 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[32mGET /auth/login?next=/api/admin/system-health HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:29 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:29] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:30 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:30] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - myp.app - ERROR - Fehler beim Laden der Admin-Daten: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /admin-dashboard?tab=system HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - myp.app - WARNING - Schema-Problem beim User-Load für ID 1: Invalid isoformat string: ''
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - myp.app - INFO - User 1 erfolgreich über manuelle Abfrage geladen
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[32mGET /api/admin/system/status HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:31 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - myp.app - INFO - Admin-Check für Funktion get_database_status: User authenticated: True, User ID: 1, Is Admin: True
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[32mGET /auth/login?next=/api/admin/system/status HTTP/1.1[0m" 302 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/admin/database/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET / HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:31 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:31] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:32 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:32 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:32] "[35m[1mGET /api/admin/system-health HTTP/1.1[0m" 500 -
|
||||||
|
2025-05-31 23:21:32 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:32] "POST /api/session/heartbeat HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - myp.app - ERROR - Fehler beim Laden der Admin-Daten: 'charmap' codec can't decode byte 0x9d in position 2106: character maps to <undefined>
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /admin-dashboard?tab=logs HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/css/tailwind.min.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/css/professional-theme.css HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/ui-components.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/offline-app.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/optimization-features.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/debug-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/job-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/global-refresh-functions.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/event-handlers.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/dark-mode-fix.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/csp-violation-handler.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/printer_monitor.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/notifications.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/session-manager.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/auto-logout.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/admin.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/admin-system.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/admin-live.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/js/admin-dashboard.js HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:33 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:33 - myp.printer_monitor - INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/session/status HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - myp.printer_monitor - INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/notifications HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/user/settings HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/printers/monitor/live-status?use_cache=true HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "GET /api/stats HTTP/1.1" 200 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/manifest.json HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:33 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:33] "[36mGET /static/icons/icon-144x144.png HTTP/1.1[0m" 304 -
|
||||||
|
2025-05-31 23:21:34 - werkzeug - INFO - 127.0.0.1 - - [31/May/2025 23:21:34] "[33mGET /api/logs HTTP/1.1[0m" 404 -
|
||||||
|
@ -1708,3 +1708,9 @@ information about how to avoid this problem.
|
|||||||
2025-05-31 21:43:42 - myp.scheduler - ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fd976d9a810>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
|
2025-05-31 21:43:42 - myp.scheduler - ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fd976d9a810>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
|
||||||
2025-05-31 21:43:42 - myp.scheduler - ERROR - ❌ Konnte Steckdose für Sofort-Job 3 nicht einschalten
|
2025-05-31 21:43:42 - myp.scheduler - ERROR - ❌ Konnte Steckdose für Sofort-Job 3 nicht einschalten
|
||||||
2025-05-31 22:51:50 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
2025-05-31 22:51:50 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:17 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:24 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:31 - myp.app - ERROR - Fehler beim Laden der Admin-Daten: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:32 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
2025-05-31 23:21:33 - myp.app - ERROR - Fehler beim Laden der Admin-Daten: 'charmap' codec can't decode byte 0x9d in position 2106: character maps to <undefined>
|
||||||
|
2025-05-31 23:21:34 - myp.app - ERROR - Fehler beim System-Gesundheitscheck: argument 1 (impossible<bad format char>)
|
||||||
|
@ -2469,3 +2469,26 @@
|
|||||||
2025-05-31 23:03:47 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
2025-05-31 23:03:47 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
2025-05-31 23:03:49 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
2025-05-31 23:03:49 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
2025-05-31 23:03:49 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
2025-05-31 23:03:49 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:20:28 - myp.printers - INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||||
|
2025-05-31 23:20:34 - myp.printers - INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||||
|
2025-05-31 23:20:34 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:20:34 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:20:34 - myp.printers - INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||||
|
2025-05-31 23:20:44 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:20:44 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:09 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:09 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:16 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:16 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:23 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:23 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:25 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:25 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:29 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:29 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:31 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:31 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:33 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:33 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
2025-05-31 23:21:40 - myp.printers - INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||||
|
2025-05-31 23:21:40 - myp.printers - INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||||
|
@ -2665,3 +2665,9 @@
|
|||||||
2025-05-31 23:03:45 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
2025-05-31 23:03:45 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
2025-05-31 23:03:46 - myp.scheduler - INFO - Scheduler-Thread gestartet
|
2025-05-31 23:03:46 - myp.scheduler - INFO - Scheduler-Thread gestartet
|
||||||
2025-05-31 23:03:46 - myp.scheduler - INFO - Scheduler gestartet
|
2025-05-31 23:03:46 - myp.scheduler - INFO - Scheduler gestartet
|
||||||
|
2025-05-31 23:12:54 - myp.scheduler - INFO - Scheduler-Thread beendet
|
||||||
|
2025-05-31 23:12:54 - myp.scheduler - INFO - Scheduler gestoppt
|
||||||
|
2025-05-31 23:14:16 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-05-31 23:18:47 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||||
|
2025-05-31 23:18:48 - myp.scheduler - INFO - Scheduler-Thread gestartet
|
||||||
|
2025-05-31 23:18:48 - myp.scheduler - INFO - Scheduler gestartet
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Admin Panel - Mercedes-Benz MYP Platform{% endblock %}
|
{% block title %}Ausbilder-Bereich - Mercedes-Benz TBA Marienfelde{% endblock %}
|
||||||
|
|
||||||
{% block head %}
|
{% block head %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
@ -63,11 +63,11 @@
|
|||||||
|
|
||||||
<h1 class="text-5xl md:text-6xl font-bold mb-4 tracking-tight">
|
<h1 class="text-5xl md:text-6xl font-bold mb-4 tracking-tight">
|
||||||
<span class="bg-gradient-to-r from-white to-blue-200 bg-clip-text text-transparent">
|
<span class="bg-gradient-to-r from-white to-blue-200 bg-clip-text text-transparent">
|
||||||
Admin Control Center
|
TBA Ausbilder-Bereich
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-xl md:text-2xl text-blue-100 max-w-3xl mx-auto leading-relaxed">
|
<p class="text-xl md:text-2xl text-blue-100 max-w-3xl mx-auto leading-relaxed">
|
||||||
Echtzeit-Verwaltung Ihres MYP-Systems mit modernster Technologie und Mercedes-Benz Qualität
|
Verwaltung des Steckdosen-Steuerungssystems für die Technische Berufsausbildung Werk Marienfelde
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- Real-Time Quick Actions -->
|
<!-- Real-Time Quick Actions -->
|
||||||
@ -225,9 +225,9 @@
|
|||||||
<a href="{{ url_for('admin_page', tab='printers') }}"
|
<a href="{{ url_for('admin_page', tab='printers') }}"
|
||||||
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 == 'printers' 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 == 'printers' 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 == 'printers' 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 == 'printers' 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="M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
||||||
</svg>
|
</svg>
|
||||||
Drucker
|
Drucker-Steckdosen
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{ url_for('admin_page', tab='jobs') }}"
|
<a href="{{ url_for('admin_page', tab='jobs') }}"
|
||||||
@ -235,7 +235,7 @@
|
|||||||
<svg class="w-5 h-5 mr-2 {{ 'text-white' if active_tab == 'jobs' 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 == 'jobs' 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="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"/>
|
||||||
</svg>
|
</svg>
|
||||||
Druckaufträge
|
Reservierungen
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{ url_for('admin_guest_requests') }}"
|
<a href="{{ url_for('admin_guest_requests') }}"
|
||||||
@ -243,7 +243,7 @@
|
|||||||
<svg class="w-5 h-5 mr-2 {{ 'text-white' if active_tab == 'guest_requests' 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 == 'guest_requests' 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="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/>
|
||||||
</svg>
|
</svg>
|
||||||
Gastaufträge
|
TBA-Anträge
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{ url_for('admin_page', tab='system') }}"
|
<a href="{{ url_for('admin_page', tab='system') }}"
|
||||||
@ -406,12 +406,12 @@
|
|||||||
<!-- Drucker Tab -->
|
<!-- Drucker Tab -->
|
||||||
<div class="p-8">
|
<div class="p-8">
|
||||||
<div class="flex items-center justify-between mb-6">
|
<div class="flex items-center justify-between mb-6">
|
||||||
<h2 class="text-2xl font-bold text-slate-900 dark:text-white">Druckerverwaltung</h2>
|
<h2 class="text-2xl font-bold text-slate-900 dark:text-white">Drucker-Steckdosen-Verwaltung</h2>
|
||||||
<button id="add-printer-btn" class="inline-flex items-center px-4 py-2 bg-gradient-to-r from-green-500 to-green-600 text-white rounded-xl hover:from-green-600 hover:to-green-700 transition-all duration-300 shadow-lg hover:shadow-xl">
|
<button id="add-printer-btn" class="inline-flex items-center px-4 py-2 bg-gradient-to-r from-green-500 to-green-600 text-white rounded-xl hover:from-green-600 hover:to-green-700 transition-all duration-300 shadow-lg hover:shadow-xl">
|
||||||
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"/>
|
||||||
</svg>
|
</svg>
|
||||||
Drucker hinzufügen
|
Steckdose hinzufügen
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@
|
|||||||
<!-- Brand Text -->
|
<!-- Brand Text -->
|
||||||
<div class="flex flex-col ml-3">
|
<div class="flex flex-col ml-3">
|
||||||
<span class="text-sm lg:text-base font-bold text-slate-900 dark:text-white transition-colors duration-300 tracking-tight">Mercedes-Benz</span>
|
<span class="text-sm lg:text-base font-bold text-slate-900 dark:text-white transition-colors duration-300 tracking-tight">Mercedes-Benz</span>
|
||||||
<span class="text-xs font-medium text-slate-600 dark:text-slate-400 transition-colors duration-300">MYP 3D-Druck Reservierungsplatform -</span>
|
<span class="text-xs font-medium text-slate-600 dark:text-slate-400 transition-colors duration-300">Manage Your Printer - </span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Gastanfrage - Mercedes-Benz MYP Platform{% endblock %}
|
{% block title %}TBA-Nutzungsantrag - Mercedes-Benz TBA Marienfelde{% endblock %}
|
||||||
|
|
||||||
{% block head %}
|
{% block head %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
@ -303,13 +303,13 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">Gastanfrage</h1>
|
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">TBA-Nutzungsantrag</h1>
|
||||||
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">3D-Druckauftrag Anfrage stellen</p>
|
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">Antrag für Drucker-Steckdosen-Nutzung in der TBA</p>
|
||||||
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
||||||
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Anträge werden manuell genehmigt</span>
|
<span>Anträge werden von Ausbildern geprüft</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -319,7 +319,7 @@
|
|||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Anträge Übersicht</span>
|
<span>Meine Anträge</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ url_for('index') if url_for else '/' }}"
|
<a href="{{ url_for('index') if url_for else '/' }}"
|
||||||
class="btn-secondary flex items-center gap-2">
|
class="btn-secondary flex items-center gap-2">
|
||||||
@ -346,7 +346,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<div class="progress-step">2</div>
|
<div class="progress-step">2</div>
|
||||||
<span class="ml-2 text-sm font-medium text-mercedes-gray dark:text-slate-400">Prüfung</span>
|
<span class="ml-2 text-sm font-medium text-mercedes-gray dark:text-slate-400">Ausbilder-Prüfung</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 h-1 bg-gray-200 dark:bg-gray-700 mx-4 rounded-full"></div>
|
<div class="flex-1 h-1 bg-gray-200 dark:bg-gray-700 mx-4 rounded-full"></div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
@ -361,11 +361,11 @@
|
|||||||
<div class="dashboard-card p-8">
|
<div class="dashboard-card p-8">
|
||||||
<div class="mb-8">
|
<div class="mb-8">
|
||||||
<h2 class="text-2xl font-bold text-mercedes-black dark:text-white mb-3">
|
<h2 class="text-2xl font-bold text-mercedes-black dark:text-white mb-3">
|
||||||
Druckantrag einreichen
|
Nutzungsantrag für Drucker-Steckdosen
|
||||||
</h2>
|
</h2>
|
||||||
<p class="text-mercedes-gray dark:text-slate-400 text-lg">
|
<p class="text-mercedes-gray dark:text-slate-400 text-lg">
|
||||||
Füllen Sie alle erforderlichen Felder aus, um Ihren Druckantrag zu stellen.
|
Füllen Sie alle erforderlichen Felder aus, um Ihren Antrag für die Nutzung der Drucker-Steckdosen zu stellen.
|
||||||
<strong>Alle Angaben werden vertraulich behandelt.</strong>
|
<strong>Der Antrag wird von den TBA-Ausbildern geprüft und genehmigt.</strong>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -452,20 +452,20 @@
|
|||||||
<!-- Drucker -->
|
<!-- Drucker -->
|
||||||
<div>
|
<div>
|
||||||
<label for="{{ form.printer_id.id if form else 'printer_id' }}" class="block text-sm font-medium text-mercedes-black dark:text-slate-300 mb-2">
|
<label for="{{ form.printer_id.id if form else 'printer_id' }}" class="block text-sm font-medium text-mercedes-black dark:text-slate-300 mb-2">
|
||||||
Gewünschter Drucker
|
Gewünschte Drucker-Steckdose
|
||||||
</label>
|
</label>
|
||||||
{% if form %}
|
{% if form %}
|
||||||
{{ form.printer_id(class="mercedes-form-input block w-full px-4 py-3") }}
|
{{ form.printer_id(class="mercedes-form-input block w-full px-4 py-3") }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<select id="printer_id" name="printer_id" class="mercedes-form-input block w-full px-4 py-3">
|
<select id="printer_id" name="printer_id" class="mercedes-form-input block w-full px-4 py-3">
|
||||||
<option value="">Drucker auswählen...</option>
|
<option value="">Steckdose auswählen...</option>
|
||||||
<option value="1">Prusa i3 MK3S+ (PLA/PETG)</option>
|
<option value="1">Steckdose 1 - Prusa i3 MK3S+ (Arbeitsplatz A)</option>
|
||||||
<option value="2">Ultimaker S3 (PLA/ABS/PETG)</option>
|
<option value="2">Steckdose 2 - Ultimaker S3 (Arbeitsplatz B)</option>
|
||||||
<option value="3">Formlabs Form 3 (Resin)</option>
|
<option value="3">Steckdose 3 - Formlabs Form 3 (Arbeitsplatz C)</option>
|
||||||
</select>
|
</select>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<p class="mt-1 text-xs text-mercedes-gray dark:text-slate-400">
|
<p class="mt-1 text-xs text-mercedes-gray dark:text-slate-400">
|
||||||
Wählen Sie den für Ihr Material geeigneten Drucker
|
Wählen Sie die Steckdose für Ihren gewünschten Arbeitsplatz
|
||||||
</p>
|
</p>
|
||||||
{% if form and form.printer_id.errors %}
|
{% if form and form.printer_id.errors %}
|
||||||
<div class="mt-2 text-sm text-mercedes-red">
|
<div class="mt-2 text-sm text-mercedes-red">
|
||||||
@ -484,7 +484,7 @@
|
|||||||
<!-- Geschätzte Dauer -->
|
<!-- Geschätzte Dauer -->
|
||||||
<div>
|
<div>
|
||||||
<label for="{{ form.duration_min.id if form else 'duration_min' }}" class="block text-sm font-medium text-mercedes-black dark:text-slate-300 mb-2">
|
<label for="{{ form.duration_min.id if form else 'duration_min' }}" class="block text-sm font-medium text-mercedes-black dark:text-slate-300 mb-2">
|
||||||
Geschätzte Druckdauer *
|
Geschätzte Nutzungsdauer *
|
||||||
</label>
|
</label>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
{% if form %}
|
{% if form %}
|
||||||
@ -681,7 +681,7 @@
|
|||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Anträge Übersicht</span>
|
<span>Meine Anträge</span>
|
||||||
</a>
|
</a>
|
||||||
<button onclick="showStatusCheck()" class="btn-secondary flex items-center gap-2">
|
<button onclick="showStatusCheck()" class="btn-secondary flex items-center gap-2">
|
||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Druckaufträge - Mercedes-Benz MYP Platform{% endblock %}
|
{% block title %}Reservierungen - Mercedes-Benz TBA Marienfelde{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
@ -465,13 +465,13 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">Druckaufträge</h1>
|
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">Reservierungen</h1>
|
||||||
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">Verwalten Sie Ihre 3D-Druckjobs mit höchster Präzision</p>
|
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">Steckdosen-Reservierungen für 3D-Drucker in der TBA</p>
|
||||||
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
||||||
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
||||||
</svg>
|
</svg>
|
||||||
Live-Updates alle 30 Sekunden
|
Echtzeit-Status der Steckdosen-Reservierungen
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -481,7 +481,7 @@
|
|||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Aktualisieren</span>
|
<span>Status aktualisieren</span>
|
||||||
</button>
|
</button>
|
||||||
<button onclick="toggleBatchMode()" id="batch-toggle"
|
<button onclick="toggleBatchMode()" id="batch-toggle"
|
||||||
class="btn-secondary flex items-center gap-2 relative group">
|
class="btn-secondary flex items-center gap-2 relative group">
|
||||||
@ -492,13 +492,12 @@
|
|||||||
|
|
||||||
<!-- Info-Tooltip für Batch-Planung -->
|
<!-- Info-Tooltip für Batch-Planung -->
|
||||||
<div class="absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-80 bg-slate-900 dark:bg-slate-700 text-white text-xs rounded-lg p-3 opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none z-50 shadow-lg">
|
<div class="absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-80 bg-slate-900 dark:bg-slate-700 text-white text-xs rounded-lg p-3 opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none z-50 shadow-lg">
|
||||||
<div class="font-semibold mb-2">📦 Intelligente Batch-Planung</div>
|
<div class="font-semibold mb-2">📦 TBA-Reservierungsmanagement</div>
|
||||||
<ul class="space-y-1 text-left">
|
<ul class="space-y-1 text-left">
|
||||||
<li>• <strong>Mehrfachauswahl:</strong> Markieren Sie mehrere Jobs gleichzeitig</li>
|
<li>• <strong>Mehrfachauswahl:</strong> Markieren Sie mehrere Reservierungen</li>
|
||||||
<li>• <strong>Batch-Operationen:</strong> Starten, pausieren oder abbrechen</li>
|
<li>• <strong>Batch-Operationen:</strong> Starten, pausieren oder abbrechen</li>
|
||||||
<li>• <strong>Prioritäten setzen:</strong> Hoch/Normal für ausgewählte Jobs</li>
|
<li>• <strong>Prioritäten setzen:</strong> Hoch/Normal für Ausbildungsgruppen</li>
|
||||||
<li>• <strong>Gruppenlöschung:</strong> Mehrere abgeschlossene Jobs löschen</li>
|
<li>• <strong>Ausbilder-Genehmigung:</strong> Genehmigungsstatus verfolgen</li>
|
||||||
<li>• <strong>Optimierte Planung:</strong> Intelligente Reihenfolge-Anpassung</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div class="mt-2 text-xs text-slate-300">
|
<div class="mt-2 text-xs text-slate-300">
|
||||||
Tastenkürzel: <kbd class="bg-slate-800 px-1 rounded">Ctrl+Alt+B</kbd>
|
Tastenkürzel: <kbd class="bg-slate-800 px-1 rounded">Ctrl+Alt+B</kbd>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}3D-Drucker - Mercedes-Benz MYP Platform{% endblock %}
|
{% block title %}Drucker-Steckdosen - Mercedes-Benz TBA Marienfelde{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
@ -465,18 +465,18 @@
|
|||||||
<div class="flex items-center gap-6">
|
<div class="flex items-center gap-6">
|
||||||
<div class="w-16 h-16 flex-shrink-0 bg-mercedes-blue text-white rounded-xl flex items-center justify-center">
|
<div class="w-16 h-16 flex-shrink-0 bg-mercedes-blue text-white rounded-xl flex items-center justify-center">
|
||||||
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">3D-Drucker</h1>
|
<h1 class="text-4xl font-bold text-mercedes-black dark:text-white tracking-tight">Drucker-Steckdosen</h1>
|
||||||
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">Live-Überwachung und Verwaltung Ihrer Produktionseinheiten</p>
|
<p class="text-mercedes-gray dark:text-slate-400 mt-1 text-lg">Sichere Steckdosen-Steuerung für 3D-Drucker in der TBA</p>
|
||||||
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
<div class="flex items-center mt-2 text-sm text-mercedes-blue">
|
||||||
<div id="live-status-indicator" class="w-2 h-2 bg-green-500 rounded-full mr-2 animate-pulse"></div>
|
<div id="live-status-indicator" class="w-2 h-2 bg-green-500 rounded-full mr-2 animate-pulse"></div>
|
||||||
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span id="last-update">Live-Updates aktiv</span>
|
<span id="last-update">Echtzeit-Status aktiv</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -486,15 +486,17 @@
|
|||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Aktualisieren</span>
|
<span>Status aktualisieren</span>
|
||||||
</button>
|
</button>
|
||||||
|
{% if current_user.is_authenticated and current_user.is_admin %}
|
||||||
<button onclick="openAddPrinterModal()"
|
<button onclick="openAddPrinterModal()"
|
||||||
class="btn-primary flex items-center gap-2">
|
class="btn-primary flex items-center gap-2">
|
||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"/>
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Drucker hinzufügen</span>
|
<span>Steckdose hinzufügen</span>
|
||||||
</button>
|
</button>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user