Deklarix soll ein buchbarer Service werden — dafür muss jede Entität im
Datenmodell über das Frontend steuerbar sein, nicht nur einsehbar.
Schließt drei konkrete Lücken:
- Abteilungen (GET /verwaltung/abteilungen, anlegen/löschen) — ohne
diese Seite blieb die Abteilung-Auswahl im Antrag-Fragebogen leer
und unbenutzbar, das war ein Funktionsdefizit, kein Komfortfehler.
- Eigene Werkzeug-Sperrungen (GET /verwaltung/werkzeuge) — ein Mandant
kann einen zentralen Katalogeintrag jetzt für sich sperren/entsperren,
ohne den zentralen Katalog selbst zu verändern.
- Nutzer-Deaktivierung (POST /verwaltung/nutzer/{id}/deaktivieren bzw.
.../aktivieren, neue Spalte app_user.active, Migration 0012). Nutzer
werden nicht gelöscht (Fremdschlüssel auf antrag/entscheidung/
audit_log würden das verhindern und die Historie zerstören) —
deaktivierte Logins können sich nicht mehr anmelden und verlieren
eine laufende Sitzung sofort. Ein Admin kann sich nicht selbst
deaktivieren.
Zusätzlich: store.ListAktiveGenehmigungenForAccount als Grundlage für
die Wiedervorlage (Schritt 7, Web-Layer folgt).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
86 lines
2.8 KiB
HTML
86 lines
2.8 KiB
HTML
{{define "head"}}
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Title}} — Deklarix</title>
|
|
<link rel="stylesheet" href="/static/app.css">
|
|
<script src="/static/htmx.min.js"></script>
|
|
{{end}}
|
|
|
|
{{define "nav"}}
|
|
<nav>
|
|
<a href="/">Start</a>
|
|
{{if not .IsBetreiber}}<a href="/antraege">Meine Anträge</a>{{end}}
|
|
{{if .IsFachebene}}<a href="/faelle">Posteingang</a>{{end}}
|
|
{{if .IsFachebene}}<a href="/registereintraege">Register</a>{{end}}
|
|
{{if .IsAdmin}}<a href="/verwaltung/nutzer">Nutzerverwaltung</a>{{end}}
|
|
{{if .IsAdmin}}<a href="/verwaltung/abteilungen">Abteilungen</a>{{end}}
|
|
{{if .IsAdmin}}<a href="/verwaltung/werkzeuge">Werkzeugkatalog</a>{{end}}
|
|
{{if .IsBetreiber}}<a href="/betreiber">Plattform</a>{{end}}
|
|
<form method="post" action="/logout" style="display:inline">
|
|
<button type="submit">Abmelden</button>
|
|
</form>
|
|
</nav>
|
|
{{end}}
|
|
|
|
{{/* bewertung-block rendert eine Bewertung (Datenklasse, KI-VO-
|
|
Einstufung, Anforderungen, Werkzeuge, Pflicht-Disclaimer) — gemeinsam
|
|
genutzt von antrag_detail.html (Ebene 2, nur Ansicht) und
|
|
fall_detail.html (Ebene 3, mit Entscheiden-Formular). Erwartet eine
|
|
*bewertungView als . */}}
|
|
{{define "bewertung-block"}}
|
|
<h2>Bewertung</h2>
|
|
|
|
{{if .Verboten}}
|
|
<p class="fehler"><strong>Verboten.</strong> Diese Nutzung fällt laut Einstufung unter ein verbotenes KI-Praktiken-Muster der KI-VO ({{.Einstufung}}). {{.EinstufungHerleitung}}</p>
|
|
{{end}}
|
|
|
|
<p><strong>Datenklasse:</strong> {{.Datenklasse}}<br>
|
|
<span class="hinweis">{{.DatenklasseHerleitung}}</span></p>
|
|
|
|
<p><strong>KI-VO-Einstufung:</strong> {{.Einstufung}}<br>
|
|
<span class="hinweis">{{.EinstufungHerleitung}}</span></p>
|
|
|
|
{{if .Anforderungen}}
|
|
<h3>Anforderungen</h3>
|
|
<ul class="findings">
|
|
{{range .Anforderungen}}
|
|
<li class="finding finding-mittel">
|
|
<strong>{{.Beschreibung}}</strong>
|
|
<p>{{.Herleitung}}</p>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
{{end}}
|
|
|
|
{{if not .Verboten}}
|
|
<h3>Zulässige Werkzeuge</h3>
|
|
{{if .ZulaessigeWerkzeuge}}
|
|
<ul>
|
|
{{range .ZulaessigeWerkzeuge}}<li>{{.}}</li>{{end}}
|
|
</ul>
|
|
{{else}}
|
|
<p class="rueckfrage">Kein Werkzeug im Katalog erfüllt aktuell alle Anforderungen dieses Antrags.</p>
|
|
{{end}}
|
|
|
|
{{if .AusgeschlosseneWerkzeuge}}
|
|
<h3>Ausgeschlossene Werkzeuge</h3>
|
|
<ul class="findings">
|
|
{{range .AusgeschlosseneWerkzeuge}}
|
|
<li class="finding finding-niedrig">
|
|
<strong>{{.Name}}</strong>
|
|
<p>Nicht erfüllt: {{range $i, $a := .NichtErfuellt}}{{if $i}}, {{end}}{{$a}}{{end}}</p>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
<p class="disclaimer">
|
|
Das System entscheidet nicht. Es bereitet vor. Diese Einstufung ist ein
|
|
Vorschlag zur Herleitung von Datenklasse, KI-VO-Einstufung und
|
|
Anforderungen (Regelwerk {{.RegelwerkVersion}}, Katalog
|
|
{{.KatalogVersion}}, berechnet am {{.CreatedAt}}) —
|
|
die Entscheidung trifft ein Mensch.
|
|
</p>
|
|
{{end}}
|