Gedankenstriche durch Bindestriche ersetzt
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s

375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die
README; an keiner Stelle Bedeutung, nur Zeichensetzung.
This commit is contained in:
Harlekin
2026-09-04 08:54:52 +02:00
parent 38be773636
commit e0b03ea336
210 changed files with 368 additions and 368 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ import { visibleDocumentWhere } from '@/lib/access/personnelFilter'
/**
* Anhänge, die ein Nutzer sehen darf.
*
* Ein Anhang hat keine eigene Freigabestufe — er erbt die seines Besitzers.
* Ein Anhang hat keine eigene Freigabestufe - er erbt die seines Besitzers.
* Das ist die richtige Bauart: eine Datei an einem Verlaufseintrag der Stufe 4
* ist so geheim wie der Eintrag, und läge die Stufe am Anhang, müsste jemand
* beide gleichzeitig richtig setzen.
+2 -2
View File
@@ -16,13 +16,13 @@ import { WORKING_ROLES } from '@/lib/cases/terms'
* 4. Stufe reicht → Zugriff
* 5. sonst kein Zugriff
*
* Zu 3.: Die Beteiligtenliste beantwortet zwei Fragen — wer bearbeitet den
* Zu 3.: Die Beteiligtenliste beantwortet zwei Fragen - wer bearbeitet den
* Fall, und um wen geht es darin. Nur die erste verschafft Zugang. Ein
* Betroffener, ein Zeuge oder ein Täter mit Discord-Konto läse sonst die
* Ermittlung gegen sich selbst mit. Siehe lib/cases/terms.ts.
*
* Der Ausschluss steht auch über dem Admin. Das Codebeispiel im Dokument gibt
* für Admins `{}` zurück und übergeht ihn damit — das widerspricht der
* für Admins `{}` zurück und übergeht ihn damit - das widerspricht der
* Reihenfolge eine Zeile darüber. Hier gilt die Reihenfolge: der Ausschluss
* deckt gerade den Fall ab, dass gegen einen hochrangigen Mitarbeiter
* ermittelt wird, und der Administrator ist einer.
+2 -2
View File
@@ -27,7 +27,7 @@ function requirePermission(p: EffectivePermissions, permission: Permission): Wri
/**
* Darf dieser Nutzer eine Akte mit dieser Klassifizierung anlegen?
*
* Niemand legt eine Akte über der eigenen Stufe an — auch kein Admin, denn er
* Niemand legt eine Akte über der eigenen Stufe an - auch kein Admin, denn er
* hätte sonst eine Akte erzeugt, deren Sichtbarkeit er nicht überblickt.
* Der Admin hat ohnehin Stufe 5.
*/
@@ -78,7 +78,7 @@ export function canEditCase(
*
* Die neue Stufe darf die eigene nicht übersteigen. Eine Herabstufung ist der
* heikelste Vorgang im System: sie macht Inhalte für Leute sichtbar, die sie
* vorher nicht sehen durften. Erlaubt ist sie trotzdem — sie wird nur sichtbar
* vorher nicht sehen durften. Erlaubt ist sie trotzdem - sie wird nur sichtbar
* protokolliert, im Verlauf und im Zugriffsprotokoll.
*/
export function canReclassify(
+1 -1
View File
@@ -8,7 +8,7 @@ import { visibleDepartmentWhere } from '@/lib/access/departmentFilter'
* Chat: der formlose Teil, der **an einer Akte hängt**.
*
* Es gibt keine freien Räume mehr. Ein Chat gehört zu einer Fallakte oder zu
* einer Personalakte und erbt deren Sichtbarkeit — wer die Akte nicht lesen
* einer Personalakte und erbt deren Sichtbarkeit - wer die Akte nicht lesen
* darf, sieht auch nicht, dass darüber geredet wird. Damit gibt es keinen Ort
* im System, an dem über einen Vorgang gesprochen werden kann, ohne dass das
* Gespräch beim Vorgang steht. Siehe docs/13-entscheidungen.md.
+1 -1
View File
@@ -13,7 +13,7 @@ import type { EffectivePermissions } from '@/lib/auth/permissions'
* allgemein bekannt sein soll. Und sie gilt dann für alles, was **an** der
* Abteilung hängt: ihre Vermerke und ihren Chat.
*
* Was in ihr aktenkundig ist, filtert dagegen weiterhin jede Liste für sich —
* Was in ihr aktenkundig ist, filtert dagegen weiterhin jede Liste für sich -
* die Mitglieder über `visiblePersonnelWhere`, die Fälle über
* `visibleCaseWhere`. Eine sichtbare Abteilung ist kein Zugang zu ihrem Inhalt.
*/
+1 -1
View File
@@ -36,7 +36,7 @@ export function canWritePersonnel(
/**
* Darf dieser Nutzer ein Dokument mit dieser Klassifizierung anlegen?
*
* Der Besitzer ist vorher schon durch die Sichtbarkeitsprüfung gelaufen — was
* Der Besitzer ist vorher schon durch die Sichtbarkeitsprüfung gelaufen - was
* man nicht sieht, kann man nicht bestücken.
*/
export function canCreateDocument(
+2 -2
View File
@@ -44,13 +44,13 @@ export function visiblePersonnelWhere(p: EffectivePermissions): Prisma.Personnel
* Zwei Bedingungen, beide müssen zutreffen:
*
* 1. **Der Besitzer muss lesbar sein.** Ein Vertrag an einer Personalakte der
* Stufe 4 bleibt verborgen, auch wenn der Vertrag selbst Stufe 1 trägt —
* Stufe 4 bleibt verborgen, auch wenn der Vertrag selbst Stufe 1 trägt -
* sonst verriete die Dokumentenliste die Existenz der Person.
* 2. **Das Dokument selbst muss lesbar sein.** Innerhalb einer sichtbaren
* Akte kann ein einzelnes Dokument höher klassifiziert sein.
*
* Wer an der besitzenden Fallakte beteiligt ist, liest ihre Dokumente
* unabhängig von seiner Stufe — das ist derselbe ausnahmsweise Zugang wie beim
* unabhängig von seiner Stufe - das ist derselbe ausnahmsweise Zugang wie beim
* Verlauf, siehe docs/03-auth-und-rechte.md. Für Dokumente an einer
* Personalakte und für Dokumente ohne Besitzer gibt es diesen Weg nicht.
*/