Moe
|
9b8d603e74
|
feat(ui): Dashboard-Redesign nach Nutzer-Mockup + Kanban, Suche, Pagination, Bulk-Aktionen
Angleichung an das vorgegebene UI-Mockup (Nutzer-Vorgabe 2026-07-15):
- Sidebar-Gruppen Favoriten (Dashboard, Meine/Offene/Ueberfaellige Tickets),
Service Management (inkl. Kanban Board), Wissen (Artikel/FAQs), Assets
(Asset-Liste/Konfigurationselemente/Software/Vertraege via CMDB-Typfilter),
Administration; rundes Logo, Nutzer-Chip mit Avatar-Initialen + Rolle
- Topbar mit zentraler Suche (fuehrt zur Ticket-Suche)
- KPI-Karten mit Trend-Angabe und Sparkline (echte Tagesserien der letzten
8 Tage aus created/first_response/resolved/due-Zeitstempeln), zusaetzliche
Karte 'Durchschn. Antwortzeit' (Ø erste Reaktion, 30 Tage)
- Ticket-Tabelle: Checkbox-Spalte mit Alles-Auswahl, Aktionen-Dropdown
(Bulk-Statuswechsel, ITIL-Uebergaenge werden serverseitig erzwungen und
Verstoesse je Ticket gemeldet), Ticket-Nr.-Hervorhebung, Avatar-Initialen,
Pagination (12/Seite, '1-12 von N Tickets')
- Filter-Tabs inkl. Geschlossen; Suchfeld (Titel/Nr./Beschreibung),
Filter bleiben ueber Tabs/Pagination erhalten
- 'Neues Ticket' als Modal (Button oben rechts) statt Inline-Formular
- Detail-Panel wie Mockup: Kopf mit Ticket-Nr., Service-Block, Feldraster,
Tabs Details/Aktivitaeten/Anhaenge/Aufgaben (letzte zwei als Platzhalter
gekennzeichnet), SLA-Chips mit Restzeit/Ueberschreitung ('1h 32m
verbleibend' / 'um 2h ueberschritten'), Footer 'Status aendern'-Dropdown
(nur erlaubte ITIL-Uebergaenge) + 'Kommentar hinzufuegen'
- Kanban Board (/tickets/board): Spalten Offen/In Bearbeitung/Warten/Geloest
- CSP: style-src um 'unsafe-inline' ergaenzt (Inline-style-Attribute der
Templates, z. B. Fortschrittsbalken); Inline-Skripte bleiben verboten
Tests: cargo test 7/7, E2E-Smoke 39/39 (inkl. neuer UI-/Such-/Board-Checks).
|
2026-07-15 05:23:26 +02:00 |
Moe
|
7f9d2b431d
|
feat!: Rust-Rewrite (axum/PostgreSQL) mit ITIL-v3/v4-Prozessen und Sicherheits-Haertung
Komplette Neuentwicklung der Plattform in Rust (axum + tokio-postgres +
askama), ersetzt die Python/Flask-Version. Bestandsdaten bleiben nutzbar:
Schema-Migrationen laufen idempotent beim Start, alte Werkzeug-PBKDF2-
Passwoerter werden beim ersten Login transparent auf Argon2id migriert.
ITIL v3/v4:
- Rollenmodell: admin / change_manager / agent / user (Self-Service)
- Statusmodell mit erzwungenen Uebergaengen, Reopen, finalem Geschlossen
- Prioritaet automatisch aus Impact-x-Urgency-Matrix (v3 SO 4.2.5.4)
- Change Enablement: Standard/Normal/Emergency, CAB-Freigabe durch
change_manager/admin; Umsetzung und Repo-Edits erst nach Freigabe
- Problem Management: Incident-Problem-Verknuepfung, Known Error
- Service Request als eigene Kategorie; SLA-Zeitstempel (Reaktion/Loesung)
- Knowledge Management: Freigabe-Workflow (Entwurf -> Freigegeben)
- SACM: Ticket-CI-Verknuepfung; CSI-Dashboard (SLA-Erfuellung, MTTR)
Sicherheit (behebt Review-Befunde 2026-07-15):
- CSRF-Schutz fuer alle zustandsaendernden Requests (vorher: keiner)
- Login-Rate-Limit pro E-Mail+IP, DB-gestuetzt (vorher: keins)
- Serverseitige, widerrufbare Sessions (SHA-256-Token-Hash in DB) statt
Client-Side-Sessions mit optionalem Secret
- Argon2id statt PBKDF2; Passwort-Policy min. 12 Zeichen
- Repo-Edit aus Tickets: RBAC (change_manager/admin) + freigegebener
Change noetig; vorher jeder eingeloggte User mit Admin-Token
- SSRF-Guard fuer Service-Endpoints (Link-Local/Metadaten blockiert,
Anlegen admin-only), Erreichbarkeitscheck parallel + gecacht
- Security-Header (CSP ohne Inline-JS, X-Frame-Options, nosniff, HSTS)
- X-Forwarded-For nur bei konfigurierten Trusted Proxies (Audit-Log-IP)
- Open-Redirect im Login-next-Parameter geschlossen
Deployment: Multi-Stage-Dockerfile statt git-clone+pip beim Container-
Start (reproduzierbare Images, kein ungetesteter main-Stand in Prod).
Tests: 7 Unit-Tests (Statusmodell, Matrix, Change-Gate, Hash-Verifikation,
SSRF-Guard) + 30 End-to-End-Smoke-Tests gegen lokalen PostgreSQL gruen.
|
2026-07-15 05:02:02 +02:00 |