Feature: Security Level mit Notiz für Domains

Implementiert ein Dialog-basiertes UI zum Bearbeiten des Security Levels
mit optionaler Notiz-Funktion für Helpdesk-Domains.

Backend:
- DomainSecurityLevelRepository: CRUD für security_levels mit note-Spalte
- DomainSecurityLevelService: Business-Logik mit Batch-Enrichment
- security-level-data() Endpoint: AJAX + Full-Page POST mit CSRF
- Migration 010: note TEXT-Spalte hinzugefügt
- Bugfix: findByTenantAndDomainNo gibt null bei leerem Array zurück

Frontend (Domain-Liste):
- Badge in Grid klickbar → öffnet Modal-Dialog
- Dialog mit Level-Select + Notiz-Textarea
- AJAX-Save mit Live-Badge-Update ohne Reload
- Event-Delegation für dynamische Grid-Inhalte

Frontend (Domain-Detail):
- Notiz-Feld im Security-Level-Formular
- PRG-Pattern mit Flash-Messages

Core:
- app-http.js: DEFAULT_HEADERS auf XMLHttpRequest für CSRF-Kompatibilität

i18n:
- Keys: Priority, Note, Optional note, Security level updated

Tests:
- DomainSecurityLevelServiceTest: CRUD + Batch-Enrichment
This commit is contained in:
2026-04-21 13:43:16 +02:00
parent c3de7d4238
commit 6ac685084d
23 changed files with 1017 additions and 19 deletions

View File

@@ -1259,5 +1259,9 @@
"Delete this image?": "Dieses Bild löschen?",
"Current image": "Aktuelles Bild",
"Open navigation": "Navigation öffnen",
"Close navigation": "Navigation schließen"
"Close navigation": "Navigation schließen",
"Priority": "Priorität",
"Note": "Notiz",
"Optional note...": "Optionale Notiz...",
"Security level updated": "Sicherheitsstufe aktualisiert"
}

View File

@@ -1259,5 +1259,9 @@
"Delete this image?": "Delete this image?",
"Current image": "Current image",
"Open navigation": "Open navigation",
"Close navigation": "Close navigation"
"Close navigation": "Close navigation",
"Priority": "Priority",
"Note": "Note",
"Optional note...": "Optional note...",
"Security level updated": "Security level updated"
}