Trennung Testdaten und Livedaten

Dieser Commit ist enthalten in:
2025-06-09 15:48:15 +02:00
Ursprung b910a3d999
Commit 90ce9a52f8
12 geänderte Dateien mit 417 neuen und 105 gelöschten Zeilen

Datei anzeigen

@@ -2186,4 +2186,95 @@ docker-compose up -d
- `v2_adminpanel/migrate_license_keys.sql` - Migrations-Script (temporär)
- `v2_adminpanel/fix_license_keys.sql` - Korrektur-Script (temporär)
**Status:** ✅ Alle Lizenzschlüssel erfolgreich migriert
**Status:** ✅ Alle Lizenzschlüssel erfolgreich migriert
### 2025-06-09: Test-Flag für Lizenzen implementiert
**Ziel:**
- Klare Trennung zwischen Testdaten und echten Produktivdaten
- Testdaten sollen von der Software ignoriert werden können
- Bessere Übersicht im Admin Panel
**Durchgeführte Änderungen:**
1. **Datenbank-Schema (init.sql):**
- Neue Spalte `is_test BOOLEAN DEFAULT FALSE` zur `licenses` Tabelle hinzugefügt
- Migration für bestehende Daten: Alle werden als `is_test = TRUE` markiert
- Index `idx_licenses_is_test` für bessere Performance
2. **Backend (app.py):**
- Dashboard-Queries filtern Testdaten mit `WHERE is_test = FALSE` aus
- Lizenz-Erstellung: Neues Checkbox-Feld für Test-Markierung
- Lizenz-Bearbeitung: Test-Status kann geändert werden
- Export: Optional mit/ohne Testdaten (`?include_test=true`)
- Bulk-Operationen: Nur auf Live-Daten anwendbar
- Neue Filter in Lizenzliste: "🧪 Testdaten" und "🚀 Live-Daten"
3. **Frontend Templates:**
- **index.html**: Checkbox "Als Testdaten markieren" bei Lizenzerstellung
- **edit_license.html**: Checkbox zum Ändern des Test-Status
- **licenses.html**: Badge 🧪 für Testdaten, neue Filteroptionen
- **dashboard.html**: Info-Box zeigt Anzahl der Testdaten
- **batch_form.html**: Option für Batch-Test-Lizenzen
4. **Audit-Log Integration:**
- `is_test` Feld wird bei CREATE/UPDATE geloggt
- Nachvollziehbarkeit von Test/Live-Status-Änderungen
**Technische Details:**
- Testdaten werden in allen Statistiken ausgefiltert
- License Server API wird Lizenzen mit `is_test = TRUE` ignorieren
- Resource Pool bleibt unverändert (kann Test- und Live-Ressourcen verwalten)
**Migration der bestehenden Daten:**
```sql
UPDATE licenses SET is_test = TRUE; -- Alle aktuellen Daten sind Testdaten
```
**Status:** ✅ Implementiert
### 2025-06-09: Test-Flag für Kunden und Resource Pools erweitert
**Ziel:**
- Konsistentes Test-Daten-Management über alle Entitäten
- Kunden und Resource Pools können ebenfalls als Testdaten markiert werden
- Automatische Verknüpfung: Test-Kunde → Test-Lizenzen → Test-Ressourcen
**Durchgeführte Änderungen:**
1. **Datenbank-Schema erweitert:**
- `customers.is_test BOOLEAN DEFAULT FALSE` hinzugefügt
- `resource_pools.is_test BOOLEAN DEFAULT FALSE` hinzugefügt
- Indizes für bessere Performance erstellt
- Migrations in init.sql integriert
2. **Backend (app.py) - Erweiterte Logik:**
- Dashboard: Separate Zähler für Test-Kunden und Test-Ressourcen
- Kunde-Erstellung: Erbt Test-Status von Lizenz
- Test-Kunde erzwingt Test-Lizenzen
- Resource-Zuweisung: Test-Lizenzen bekommen nur Test-Ressourcen
- Customer-Management mit is_test Filter
3. **Frontend Updates:**
- **customers.html**: 🧪 Badge für Test-Kunden
- **edit_customer.html**: Checkbox für Test-Status
- **dashboard.html**: Erweiterte Test-Statistik (Lizenzen, Kunden, Ressourcen)
4. **Geschäftslogik:**
- Wenn neuer Kunde bei Test-Lizenz erstellt wird → automatisch Test-Kunde
- Wenn Test-Kunde gewählt wird → Lizenz automatisch als Test markiert
- Resource Pool Allocation prüft Test-Status für korrekte Zuweisung
**Migration der bestehenden Daten:**
```sql
UPDATE customers SET is_test = TRUE; -- 5 Kunden
UPDATE resource_pools SET is_test = TRUE; -- 20 Ressourcen
```
**Technische Details:**
- Konsistente Test/Live-Trennung über alle Ebenen
- Dashboard-Statistiken zeigen nur Live-Daten
- Test-Ressourcen werden nur Test-Lizenzen zugewiesen
- Alle bestehenden Daten sind jetzt als Test markiert
**Status:** ✅ Vollständig implementiert