feat(doku): Anleitung, PDF und Ende-zu-Ende-Abnahme (#36)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #36.
This commit is contained in:
2026-09-26 09:04:15 +00:00
parent 9bd198a531
commit fbbb634e56
104 changed files with 4527 additions and 299 deletions
+12 -5
View File
@@ -87,11 +87,18 @@ export async function sitzungErforderlich(recht?: Recht, ziel?: string): Promise
redirect(ziel ? `/anmelden?ziel=${encodeURIComponent(ziel)}` : "/anmelden");
}
if (recht && !darf(vorhanden.benutzer.rolle, recht)) {
// Bei einer Seite ist ein geworfener Fehler eine 500er-Seite – fuer jemanden,
// der einfach ein altes Lesezeichen geoeffnet hat, die falsche Auskunft.
// Deshalb hier eine Weiterleitung mit Erklaerung; in Server Actions bleibt
// das Werfen richtig, siehe rechtErforderlich.
redirect("/anmelden?fehler=keinrecht");
/*
* Bei einer Seite ist ein geworfener Fehler eine 500er-Seite – fuer jemanden,
* der einfach ein altes Lesezeichen geoeffnet hat, die falsche Auskunft.
* Deshalb eine Weiterleitung mit Erklaerung; in Server Actions bleibt das
* Werfen richtig, siehe `rechtErforderlich`.
*
* Und zwar auf **`/kein-zugriff`**, nicht auf die Anmeldeseite: dort leitet
* ein Angemeldeter sofort auf die Uebersicht weiter, und die Erklaerung war
* damit unerreichbar. Der Kommentar hier versprach sie trotzdem — anderthalb
* Jahre haette niemand gemerkt, dass der Hinweis nie ankommt (#018).
*/
redirect(ziel ? `/kein-zugriff?bereich=${encodeURIComponent(ziel)}` : "/kein-zugriff");
}
return vorhanden;
}