Der Wiedereintritt war da, nur nicht erreichbar

Aus dem Gespraech vom 17.09.2026.

Der Kunde suchte den Knopf "Wiedereintritt" an einer ausgetretenen Person
und hielt ihn fuer verschwunden — "ich dachte eigentlich, das ist schon
implementiert, das war mal drin". Er war drin. Er hing nur an
employee.status, und diese Spalte haengt nach: an einer Person, deren
Austritt erfasst und inzwischen vollzogen war, stand dort weiter "Aktiv".

Das ist mein Fehler beim Statusfix. Umgestellt waren dort `isActive` und
`canEditData` — die fuenf einzelnen Abfragen in derselben Datei blieben
stehen, dazu je eine in KarenzPanel und TerminatePanel. Jetzt liest keine
mehr die Spalte; die beiden Panels bekommen den abgeleiteten Status
uebergeben, statt ihn sich selbst aus der Zeile zu holen.

Betroffen war ausser dem Wiedereintritt auch: welcher Austritts-Knopf
erscheint ("Nicht angetreten" statt "Austritt"), die Beschriftung der
Abwesenheit, die Vorbelegung der Beendigungsart und ob die Zugehoerigkeit
angezeigt wird.

Dazu: die Niederlassung ist aus dem Reiter Organisation wieder raus. Sie
stand dort als unsere Auslegung von Anforderung 8; der Kunde hat sie im
Gespraech gestrichen ("nimm's mal hier raus"). Was mit der Anforderung
gemeint war, bleibt offen.
This commit is contained in:
2026-09-17 11:50:26 +02:00
parent bf7f59a959
commit 4165f3f8a1
5 changed files with 69 additions and 39 deletions

View File

@@ -19,23 +19,17 @@ type OrganisationTabProps = {
* hat die Person keine laufende Besetzung (geplanter Eintritt, Austritt).
*/
kostenstelle: { code: string; name: string } | null;
/**
* Die Niederlassung, an der die Person arbeitet.
*
* Aus dem Workshop nachgetragen (Anforderung 8, „Niederlassungen auch in
* Zuordnung einfügen"). Sie stand bisher nur im Stammdatenblatt, obwohl sie
* zur Einordnung gehört wie die Einheit und die Kostenstelle: wer wissen
* will, wo jemand sitzt, sieht hier nach und nicht bei der Privatadresse.
*
* Anders als Einheit und Kostenstelle hängt sie **an der Person**
* (`employees.location_id`) und nicht an der Planstelle. Deshalb steht sie
* auch dann da, wenn es keine laufende Besetzung gibt — bei einem
* geplanten Eintritt zum Beispiel, wo daneben „Keine laufende
* Planstellenbesetzung" zu lesen ist.
*/
standort: string | null;
};
// Die Niederlassung stand hier kurzzeitig neben Einheit und Kostenstelle —
// unsere Auslegung von „Niederlassungen auch in Zuordnung einfügen"
// (Anforderung 8). Im Gespräch am 17.09.2026 hat der Kunde sie hier wieder
// gestrichen: „nimm's mal hier raus, ich glaub, da brauchen wir's nicht
// drin." Sie steht weiterhin im Vertragsblatt.
//
// Was mit der Anforderung gemeint war, ist damit weiterhin offen — siehe
// docs/rueckfragen-workshop-2026-09.md.
export function OrganisationTab({
employeeId,
manager,
@@ -43,7 +37,6 @@ export function OrganisationTab({
directReports,
breadcrumb,
kostenstelle,
standort,
}: OrganisationTabProps) {
return (
<div className="flex flex-col gap-6">
@@ -51,10 +44,6 @@ export function OrganisationTab({
<div>
<h3 className="text-xs font-semibold uppercase tracking-wide text-ink-muted">Organisationseinheit</h3>
<p className="mt-1 text-sm text-ink">{breadcrumb}</p>
<h3 className="mt-4 text-xs font-semibold uppercase tracking-wide text-ink-muted">Niederlassung</h3>
<p className="mt-1 text-sm text-ink">
{standort ?? <span className="text-ink-muted">Nicht erfasst</span>}
</p>
<h3 className="mt-4 text-xs font-semibold uppercase tracking-wide text-ink-muted">Kostenstelle</h3>
<p className="mt-1 text-sm text-ink">
{kostenstelle ? (