Batch-Lizenzen
Dieser Commit ist enthalten in:
67
JOURNAL.md
67
JOURNAL.md
@@ -963,4 +963,69 @@ Die Session-Daten werden erst gefüllt, wenn der License Server API implementier
|
||||
- ✅ Frontend mit Generate-Button und JavaScript
|
||||
- ✅ Validierung und Fehlerbehandlung
|
||||
- ✅ Audit-Log-Integration
|
||||
- ✅ Form-Action-Bug behoben
|
||||
- ✅ Form-Action-Bug behoben
|
||||
|
||||
### 2025-06-07 - Batch-Lizenzgenerierung implementiert
|
||||
- Mehrere Lizenzen auf einmal für einen Kunden erstellen
|
||||
|
||||
**Implementierte Features:**
|
||||
|
||||
1. **Batch-Formular (/batch):**
|
||||
- Kunde und E-Mail eingeben
|
||||
- Anzahl der Lizenzen (1-100)
|
||||
- Lizenztyp (Vollversion/Testversion)
|
||||
- Gültigkeitszeitraum für alle Lizenzen
|
||||
- Vorschau-Modal zeigt Key-Format
|
||||
- Standard-Datum-Einstellungen (heute + 1 Jahr)
|
||||
|
||||
2. **Backend-Verarbeitung:**
|
||||
- Route `/batch` für GET (Formular) und POST (Generierung)
|
||||
- Generiert die angegebene Anzahl eindeutiger Keys
|
||||
- Speichert alle in einer Transaktion
|
||||
- Kunde wird automatisch angelegt (falls nicht vorhanden)
|
||||
- ON CONFLICT für existierende Kunden
|
||||
- Audit-Log-Eintrag mit CREATE_BATCH Aktion
|
||||
|
||||
3. **Ergebnis-Seite:**
|
||||
- Zeigt alle generierten Lizenzen in Tabellenform
|
||||
- Kundeninformationen und Gültigkeitszeitraum
|
||||
- Einzelne Keys können kopiert werden (📋 Button)
|
||||
- Alle Keys auf einmal kopieren
|
||||
- Druckfunktion für physische Ausgabe
|
||||
- Link zur Lizenzübersicht mit Kundenfilter
|
||||
|
||||
4. **Export-Funktionalität:**
|
||||
- Route `/batch/export` für CSV-Download
|
||||
- Speichert Batch-Daten in Session für Export
|
||||
- CSV mit UTF-8 BOM für Excel-Kompatibilität
|
||||
- Enthält Kundeninfo, Generierungsdatum und alle Keys
|
||||
- Format: Nr;Lizenzschlüssel;Typ
|
||||
- Dateiname: batch_licenses_KUNDE_TIMESTAMP.csv
|
||||
|
||||
5. **Integration:**
|
||||
- Batch-Button in Navigation (Dashboard, Einzellizenz-Seite)
|
||||
- CREATE_BATCH Aktion im Audit-Log (Farbe: #6610f2)
|
||||
- Session-basierte Export-Daten
|
||||
- Flash-Messages für Feedback
|
||||
|
||||
**Sicherheit:**
|
||||
- Limit von 100 Lizenzen pro Batch
|
||||
- Login-Required für alle Routen
|
||||
- Transaktionale Datenbank-Operationen
|
||||
- Validierung der Eingaben
|
||||
|
||||
**Beispiel-Workflow:**
|
||||
1. Admin geht zu `/batch`
|
||||
2. Gibt Kunde "Firma GmbH", Anzahl "25", Typ "Vollversion" ein
|
||||
3. System generiert 25 eindeutige Keys
|
||||
4. Ergebnis-Seite zeigt alle Keys
|
||||
5. Admin kann CSV exportieren oder Keys kopieren
|
||||
6. Kunde erhält die Lizenzen
|
||||
|
||||
**Status:**
|
||||
- ✅ Batch-Formular vollständig implementiert
|
||||
- ✅ Backend-Generierung mit Transaktionen
|
||||
- ✅ Export als CSV
|
||||
- ✅ Copy-to-Clipboard Funktionalität
|
||||
- ✅ Audit-Log-Integration
|
||||
- ✅ Navigation aktualisiert
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren