Bisher gab es nur Prüfen -> Archivieren, keine Möglichkeit, bereits
geprüfte Beiträge wieder anzusehen oder die Verantwortungsmatrix
(Beteiligte: wer hat vorgegeben, wer freigegeben) tatsächlich zu
pflegen — nur der Store-Layer dafür existierte schon.
Neu:
- GET /beitraege: Liste aller Beiträge des angemeldeten Mandanten
(Plattform, Status, höchste Finding-Schwere) via
ListSubmissionsForAccount.
- GET /beitraege/{id}: Detailseite mit Fakten, Findings, Archivieren-
Aktion und Verantwortungsmatrix.
- POST .../beteiligte, .../beteiligte/{pid}/aktualisieren,
.../beteiligte/{pid}/loeschen: echtes CRUD statt nur Ansicht, per
htmx ohne Seiten-Reload.
Mandantentrennung wie beim bestehenden Archiv-Download: fremde
Beiträge und fremde Beteiligte (auch über eine erratene participant_id)
liefern 404, nicht 403 — sonst würde eine 403 die Existenz der Ressource
bei einem anderen Mandanten bestätigen.
Web-Store-Interface um die bereits fertigen Store-Methoden erweitert,
fakeStore in server_test.go entsprechend nachgezogen. Volle Testsuite
inkl. echter Postgres-Tests (./scripts/test.sh) grün.
34 lines
827 B
HTML
34 lines
827 B
HTML
{{define "beitraege"}}<!doctype html>
|
|
<html lang="de">
|
|
<head>{{template "head" .}}</head>
|
|
<body>
|
|
{{template "nav" .}}
|
|
<div class="page">
|
|
<h1>Beiträge</h1>
|
|
|
|
{{if not .Submissions}}
|
|
<p class="hinweis">Noch keine Beiträge geprüft.</p>
|
|
{{else}}
|
|
<ul class="beitraege-liste">
|
|
{{range .Submissions}}
|
|
<li>
|
|
<a href="/beitraege/{{.ID}}">
|
|
<strong>{{.Platform}}</strong> · {{.PostType}} · {{.CreatedAt}}
|
|
<span class="status status-{{.Status}}">{{.Status}}</span>
|
|
{{if .HighestSeverity}}
|
|
<span class="finding-{{.HighestSeverity}}">{{.FindingCount}} Finding(s), höchste: {{.HighestSeverity}}</span>
|
|
{{else}}
|
|
<span class="keine-findings">keine Findings</span>
|
|
{{end}}
|
|
</a>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
{{end}}
|
|
|
|
<p><a href="/">Neuen Beitrag prüfen</a></p>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
{{end}}
|