Dieser Commit ist enthalten in:
2025-06-07 23:13:06 +02:00
Ursprung 0379391736
Commit b20a3216fb
8 geänderte Dateien mit 506 neuen und 2 gelöschten Zeilen

Datei anzeigen

@@ -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