JOURNAL Update
Dieser Commit ist enthalten in:
36
JOURNAL.md
36
JOURNAL.md
@@ -1451,4 +1451,38 @@ ALTER TABLE login_attempts ALTER COLUMN blocked_until TYPE TIMESTAMP WITH TIME Z
|
||||
- ✅ Server-seitige Sortierung für große Tabellen
|
||||
- ✅ Sortier-Indikatoren und visuelle Rückmeldung
|
||||
- ✅ SQL-Injection-Schutz durch Whitelisting
|
||||
- ✅ Vollständige Integration mit bestehenden Features
|
||||
- ✅ Vollständige Integration mit bestehenden Features
|
||||
|
||||
### 2025-06-08: Bugfix - Sortierlogik korrigiert
|
||||
|
||||
**Problem:**
|
||||
- Sortierung funktionierte nicht korrekt
|
||||
- Beim Klick auf Spaltenköpfe wurde immer absteigend sortiert
|
||||
- Toggle zwischen ASC/DESC funktionierte nicht
|
||||
|
||||
**Ursachen:**
|
||||
1. **Falsche Bedingungslogik**: Die ursprüngliche Implementierung verwendete eine fehlerhafte Ternär-Bedingung
|
||||
2. **Berechnete Felder**: Das 'status' Feld in der Lizenztabelle konnte nicht direkt sortiert werden
|
||||
|
||||
**Lösung:**
|
||||
1. **Sortierlogik korrigiert:**
|
||||
- Bei neuer Spalte: Immer aufsteigend (ASC) beginnen
|
||||
- Bei gleicher Spalte: Toggle zwischen ASC und DESC
|
||||
- Implementiert durch bedingte Links in den Makros
|
||||
|
||||
2. **Spezialbehandlung für berechnete Felder:**
|
||||
- Status-Feld verwendet CASE-Statement in ORDER BY
|
||||
- Wiederholt die gleiche Logik wie im SELECT
|
||||
|
||||
**Geänderte Dateien:**
|
||||
- `v2_adminpanel/templates/licenses.html`: Sortierlogik korrigiert
|
||||
- `v2_adminpanel/templates/customers.html`: Sortierlogik korrigiert
|
||||
- `v2_adminpanel/templates/audit_log.html`: Sortierlogik korrigiert
|
||||
- `v2_adminpanel/templates/sessions.html`: Sortierlogik für beide Tabellen korrigiert
|
||||
- `v2_adminpanel/app.py`: Spezialbehandlung für Status-Feld in licenses Route
|
||||
|
||||
**Verhalten nach Fix:**
|
||||
- ✅ Erster Klick auf Spalte: Aufsteigend sortieren
|
||||
- ✅ Zweiter Klick: Absteigend sortieren
|
||||
- ✅ Weitere Klicks: Toggle zwischen ASC/DESC
|
||||
- ✅ Sortierung funktioniert korrekt mit Pagination und Filtern
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren