diff --git a/JOURNAL.md b/JOURNAL.md index 4d421c7..3d96bb3 100644 --- a/JOURNAL.md +++ b/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 \ No newline at end of file +- ✅ 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 \ No newline at end of file