Suchfunktion bei Key anlegen

Dieser Commit ist enthalten in:
2025-06-07 23:46:27 +02:00
Ursprung b20a3216fb
Commit cba8c953ec
8 geänderte Dateien mit 407 neuen und 51 gelöschten Zeilen

Datei anzeigen

@@ -1028,4 +1028,39 @@ Die Session-Daten werden erst gefüllt, wenn der License Server API implementier
- ✅ Export als CSV
- ✅ Copy-to-Clipboard Funktionalität
- ✅ Audit-Log-Integration
- ✅ Navigation aktualisiert
- ✅ Navigation aktualisiert
## 2025-01-06: Implementierung Searchable Dropdown für Kundenauswahl
**Problem:**
- Bei der Lizenzerstellung wurde immer ein neuer Kunde angelegt
- Keine Möglichkeit, Lizenzen für bestehende Kunden zu erstellen
- Bei vielen Kunden wäre ein normales Dropdown unübersichtlich
**Lösung:**
1. **Select2 Library** für searchable Dropdown integriert
2. **API-Endpoint `/api/customers`** für die Kundensuche erstellt
3. **Frontend angepasst:**
- Searchable Dropdown mit Live-Suche
- Option "Neuer Kunde" im Dropdown
- Eingabefelder erscheinen nur bei "Neuer Kunde"
4. **Backend-Logik verbessert:**
- Prüfung ob neuer oder bestehender Kunde
- E-Mail-Duplikatsprüfung vor Kundenerstellung
- Separate Audit-Logs für Kunde und Lizenz
5. **Datenbank:**
- UNIQUE Constraint auf E-Mail-Spalte hinzugefügt
**Änderungen:**
- `app.py`: Neuer API-Endpoint `/api/customers`, angepasste Routes `/create` und `/batch`
- `base.html`: Select2 CSS und JS eingebunden
- `index.html`: Kundenauswahl mit Select2 implementiert
- `batch_form.html`: Kundenauswahl mit Select2 implementiert
- `init.sql`: UNIQUE Constraint für E-Mail
**Status:**
- ✅ API-Endpoint funktioniert mit Pagination
- ✅ Select2 Dropdown mit Suchfunktion
- ✅ Neue/bestehende Kunden können ausgewählt werden
- ✅ E-Mail-Duplikate werden verhindert
- ✅ Sowohl Einzellizenz als auch Batch unterstützt