feat(mitarbeiter): Vorgesetzter auch fuer Personen ohne Verzeichnis (#43)
This commit was merged in pull request #43.
This commit is contained in:
@@ -3,11 +3,17 @@ import { notFound } from "next/navigation";
|
||||
import { ArrowLeft, Laptop } from "lucide-react";
|
||||
import { MitarbeiterAktiv } from "@/components/mitarbeiter-aktiv";
|
||||
import { MitarbeiterStammdaten } from "@/components/mitarbeiter-stammdaten";
|
||||
import { MitarbeiterVorgesetzter } from "@/components/mitarbeiter-vorgesetzter";
|
||||
import { Herkunft } from "@/generated/prisma/enums";
|
||||
import { darf } from "@/server/auth/rollen";
|
||||
import { sitzungErforderlich } from "@/server/auth/sitzungspflicht";
|
||||
import { kundenEbeneSichtbar } from "@/server/mandant";
|
||||
import { geraeteDesMitarbeiters, mitarbeiterHolen, vorgesetzterVon } from "@/server/queries/mitarbeiter";
|
||||
import {
|
||||
geraeteDesMitarbeiters,
|
||||
mitarbeiterHolen,
|
||||
moeglicheVorgesetzte,
|
||||
vorgesetzterVon,
|
||||
} from "@/server/queries/mitarbeiter";
|
||||
|
||||
/**
|
||||
* Die Seite einer Person (#011).
|
||||
@@ -26,10 +32,13 @@ export default async function MitarbeiterSeite({ params }: { params: Promise<{ i
|
||||
if (!person) notFound();
|
||||
|
||||
const darfBearbeiten = darf(benutzer.rolle, "mitarbeiterBearbeiten");
|
||||
const [geraete, kundenEbene, vorgesetzter] = await Promise.all([
|
||||
const [geraete, kundenEbene, vorgesetzter, auswahl] = await Promise.all([
|
||||
geraeteDesMitarbeiters(person.id, benutzer),
|
||||
kundenEbeneSichtbar(),
|
||||
vorgesetzterVon(person.id, benutzer),
|
||||
// Nur holen, wer sie auch braucht: fuer einen Leser ist die Liste aller
|
||||
// Kolleginnen und Kollegen eine Abfrage ohne Zweck.
|
||||
darfBearbeiten ? moeglicheVorgesetzte(person.id, benutzer) : [],
|
||||
]);
|
||||
|
||||
return (
|
||||
@@ -60,8 +69,14 @@ export default async function MitarbeiterSeite({ params }: { params: Promise<{ i
|
||||
) : null}
|
||||
|
||||
{darfBearbeiten ? (
|
||||
<div className="mt-6">
|
||||
<div className="mt-6 flex flex-col gap-6">
|
||||
<MitarbeiterAktiv mitarbeiterId={person.id} aktiv={person.aktiv} />
|
||||
<MitarbeiterVorgesetzter
|
||||
mitarbeiterId={person.id}
|
||||
vorgesetzterId={vorgesetzter?.id ?? null}
|
||||
auswahl={auswahl}
|
||||
ausDemVerzeichnis={person.herkunft === Herkunft.ABGLEICH}
|
||||
/>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user