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
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:
@@ -18,7 +18,7 @@ import type { EffectivePermissions } from '@/lib/auth/permissions'
|
||||
*
|
||||
* Schmaler als der Aktenverlauf ist er trotzdem: keine Korrekturkette, keine
|
||||
* Anhänge, keine Karenzzeit. Ein Abteilungsvermerk ist ein laufendes
|
||||
* Protokoll, kein Beweismittel — die Ermittlung gehört in eine Fallakte.
|
||||
* Protokoll, kein Beweismittel - die Ermittlung gehört in eine Fallakte.
|
||||
*/
|
||||
|
||||
const AUSWAHL = {
|
||||
@@ -101,7 +101,7 @@ export async function createEntry(
|
||||
}
|
||||
|
||||
/**
|
||||
* Ändern. Der vorherige Stand wird zur Version — in derselben Transaktion,
|
||||
* Ändern. Der vorherige Stand wird zur Version - in derselben Transaktion,
|
||||
* sonst gäbe es einen Moment, in dem der alte Text nirgends mehr steht.
|
||||
*/
|
||||
export async function editEntry(
|
||||
|
||||
@@ -9,7 +9,7 @@ import type { EffectivePermissions } from '@/lib/auth/permissions'
|
||||
import type { Prisma } from '@afis/db'
|
||||
|
||||
/**
|
||||
* Abteilungen — die Ebene über der Personalakte.
|
||||
* Abteilungen - die Ebene über der Personalakte.
|
||||
*
|
||||
* Der Aufbau ist derselbe wie bei der Personalakte, nur eine Stufe höher: was
|
||||
* zu einer Abteilung aktenkundig ist, **wird abgeleitet und nicht
|
||||
@@ -17,7 +17,7 @@ import type { Prisma } from '@afis/db'
|
||||
* wenn eine beteiligte Person dieser Abteilung angehört.
|
||||
*
|
||||
* Das ist die wichtigste Festlegung hier. Eine eingetragene Abteilung an der
|
||||
* Akte wäre schnell veraltet — Leute wechseln, Beteiligte kommen dazu — und
|
||||
* Akte wäre schnell veraltet - Leute wechseln, Beteiligte kommen dazu - und
|
||||
* niemand würde sie nachpflegen. Abgeleitet stimmt sie immer.
|
||||
*
|
||||
* Jede Abfrage läuft durch dieselben Sichtbarkeitsfragmente wie überall sonst.
|
||||
@@ -31,7 +31,7 @@ export type DepartmentSummary = {
|
||||
description: string | null
|
||||
minClearance: number
|
||||
isArchived: boolean
|
||||
/** `null`, wenn der Fragende Personalakten gar nicht sehen darf. Nicht `0` —
|
||||
/** `null`, wenn der Fragende Personalakten gar nicht sehen darf. Nicht `0` -
|
||||
eine Null wäre die Auskunft „hier ist niemand", und die steht ihm nicht zu. */
|
||||
memberCount: number | null
|
||||
}
|
||||
@@ -60,7 +60,7 @@ export async function listDepartments(
|
||||
})
|
||||
if (abteilungen.length === 0) return []
|
||||
|
||||
// Die Mitgliederzahl zählt nur, was der Nutzer auch sehen dürfte — sonst
|
||||
// Die Mitgliederzahl zählt nur, was der Nutzer auch sehen dürfte - sonst
|
||||
// verriete die Zahl, wie viele Personalakten über seiner Stufe liegen.
|
||||
if (!darfPersonal(p)) {
|
||||
return abteilungen.map((abteilung) => ({ ...abteilung, memberCount: null }))
|
||||
@@ -116,7 +116,7 @@ export async function listMembers(p: EffectivePermissions, departmentId: string)
|
||||
*
|
||||
* Über die Beteiligten und deren Personalakten. Beide Richtungen zählen: ob
|
||||
* jemand Ermittler oder Betroffener ist, ändert nichts daran, dass der Fall
|
||||
* die Abteilung betrifft — für die Zugehörigkeit ist die Rolle unerheblich,
|
||||
* die Abteilung betrifft - für die Zugehörigkeit ist die Rolle unerheblich,
|
||||
* für den Zugriff nicht (siehe lib/cases/terms.ts).
|
||||
*/
|
||||
function caseOfDepartment(departmentId: string): Prisma.CaseWhereInput {
|
||||
@@ -147,7 +147,7 @@ export async function listDepartmentCases(
|
||||
}
|
||||
|
||||
/**
|
||||
* Dokumente der Abteilung — abgeleitet wie alles hier.
|
||||
* Dokumente der Abteilung - abgeleitet wie alles hier.
|
||||
*
|
||||
* Zwei Wege dorthin: das Dokument hängt an der Personalakte eines Mitglieds,
|
||||
* oder an einer Fallakte, die diese Abteilung betrifft. Ein Dokument
|
||||
@@ -190,7 +190,7 @@ export type Slice = { label: string; value: number }
|
||||
* Womit diese Abteilung aktenkundig ist, nach Fallart.
|
||||
*
|
||||
* Gezählt wird über **dieselbe** Bedingung wie die Liste. Ein Diagramm, das
|
||||
* mehr Fälle zeigt als die Liste hergibt, wäre selbst eine Auskunft — genau
|
||||
* mehr Fälle zeigt als die Liste hergibt, wäre selbst eine Auskunft - genau
|
||||
* wie ein Facettenzähler. Siehe harte Regel 6.
|
||||
*/
|
||||
export async function caseTypesOfDepartment(
|
||||
@@ -211,7 +211,7 @@ export async function caseTypesOfDepartment(
|
||||
/**
|
||||
* Die Gegenrichtung: welche Abteilung wie viele Fälle hat.
|
||||
*
|
||||
* Das ist die Frage, mit der die Übersicht der Abteilungen anfängt — wo häuft
|
||||
* Das ist die Frage, mit der die Übersicht der Abteilungen anfängt - wo häuft
|
||||
* sich etwas. Auch hier zählt nur, was der Fragende sehen darf.
|
||||
*/
|
||||
export async function casesPerDepartment(
|
||||
@@ -219,7 +219,7 @@ export async function casesPerDepartment(
|
||||
redactedLabel: string,
|
||||
): Promise<Slice[]> {
|
||||
// **Alle** Abteilungen, auch die über der eigenen Stufe. Die Zahlen zählen
|
||||
// weiterhin nur Fälle, die der Fragende sehen darf — was er hier erfährt,
|
||||
// weiterhin nur Fälle, die der Fragende sehen darf - was er hier erfährt,
|
||||
// ist also nicht, was in einer verborgenen Abteilung steht, sondern dass
|
||||
// einige der ihm bekannten Fälle zu einer gehören, deren Namen er nicht
|
||||
// kennt. Ein Diagramm, das sie stillschweigend weglässt, wäre die
|
||||
@@ -281,7 +281,7 @@ export async function createDepartment(
|
||||
input: { key: string; name: string; description?: string | null; minClearance: number },
|
||||
): Promise<{ key: string }> {
|
||||
if (!darfVerwalten(p)) throw new AccessError('no-permission')
|
||||
// Eine Abteilung anzulegen, die man selbst nicht sieht, ergibt keinen Sinn —
|
||||
// Eine Abteilung anzulegen, die man selbst nicht sieht, ergibt keinen Sinn -
|
||||
// dieselbe Regel wie bei Akten und Dokumenten.
|
||||
if (!p.isAdmin && input.minClearance > p.clearanceLevel) {
|
||||
throw new AccessError('clearance-too-low')
|
||||
@@ -367,7 +367,7 @@ export async function updateDepartment(
|
||||
}
|
||||
|
||||
/**
|
||||
* Eine Person einer Abteilung zuordnen — oder die Zuordnung aufheben.
|
||||
* Eine Person einer Abteilung zuordnen - oder die Zuordnung aufheben.
|
||||
*
|
||||
* Setzt dasselbe Recht voraus wie das Ändern der Personalakte selbst: die
|
||||
* Zugehörigkeit steht in der Akte, und wer sie nicht schreiben darf, darf auch
|
||||
|
||||
Reference in New Issue
Block a user