Feat #9: Ansprechpartner am Vorgang hinterlegen #20

Merged
florian.wilde merged 1 commits from feat/9-ansprechpartner-am-vorgang into main 2026-08-23 14:55:49 +00:00
Owner

Am Vorgang lässt sich ein Kontakt aus dem Verzeichnis als Ansprechpartner benennen. Die Sachstandsanfrage redet ihn namentlich an, sein Name steht über der Behörde, und das Schreiben aus dem Editor übernimmt Empfänger und Anschrift.

Die Sachstandsanfrage konnte das schon — sie bekam den Namen nur nie übergeben: entwurf.ts lud einen der verknüpften Kontakte und verwarf ihn wieder. Wer angeredet wird, ist jetzt eine Entscheidung und kein Zufall.

Was dazukommt

  • Migration 20260823153000_ansprechpartner: ansprechpartnerId am Vorgang (SetNull — ein Vorgang darf nicht daran hängen, dass es den Kontakt noch gibt) und anrede am Kontakt.
  • src/lib/kontakte/anrede.ts — die Anrede als reine Funktion. Geraten wird nie: ohne hinterlegte Anrede wird mit vollem Namen angeredet („Sehr geehrte(r) Kim Berger,"). Ein leerer Name mit gesetzter Anrede fällt auf die allgemeine Anrede zurück; „Sehr geehrte Frau ," darf nie herausgehen.
  • Auswahl im Vorgangsformular, Anzeige auf der Vorgangsseite mit Organisation, Durchwahl und E-Mail — verlinkt auf den Kontakt.
  • Der Wechsel steht mit Namen im Protokoll. Zwei cuids nebeneinander wären protokolliert, aber nicht nachvollziehbar — und nachvollziehbar war die Anforderung.
  • Der gewählte Ansprechpartner wird gegen die Akte geprüft, bevor er gespeichert wird; sein Name steht anschließend im Briefkopf.

Nebenbei behoben: Der Schreiben-Editor verwarf die empfaengerAnschrift aus dem Entwurf — sein State startete immer leer. Jetzt kommt die Anschrift des Ansprechpartners im Formular an.

Geprüft: 9 Einheitstests, 5 End-to-End-Tests. Volle Suite grün: 635 Unit, 117 e2e, Typecheck und Lint sauber. Die beiden Trigramm-Indizes habe ich nach dem Anwenden der Migration geprüft — sie stehen.

Version 1.9.0.

Closes #9

Am Vorgang lässt sich ein Kontakt aus dem Verzeichnis als Ansprechpartner benennen. Die Sachstandsanfrage redet ihn namentlich an, sein Name steht über der Behörde, und das Schreiben aus dem Editor übernimmt Empfänger und Anschrift. **Die Sachstandsanfrage konnte das schon** — sie bekam den Namen nur nie übergeben: `entwurf.ts` lud einen der verknüpften Kontakte und verwarf ihn wieder. Wer angeredet wird, ist jetzt eine Entscheidung und kein Zufall. **Was dazukommt** - Migration `20260823153000_ansprechpartner`: `ansprechpartnerId` am Vorgang (`SetNull` — ein Vorgang darf nicht daran hängen, dass es den Kontakt noch gibt) und `anrede` am Kontakt. - `src/lib/kontakte/anrede.ts` — die Anrede als reine Funktion. **Geraten wird nie:** ohne hinterlegte Anrede wird mit vollem Namen angeredet („Sehr geehrte(r) Kim Berger,"). Ein leerer Name mit gesetzter Anrede fällt auf die allgemeine Anrede zurück; „Sehr geehrte Frau ," darf nie herausgehen. - Auswahl im Vorgangsformular, Anzeige auf der Vorgangsseite mit Organisation, Durchwahl und E-Mail — verlinkt auf den Kontakt. - Der Wechsel steht mit **Namen** im Protokoll. Zwei cuids nebeneinander wären protokolliert, aber nicht nachvollziehbar — und nachvollziehbar war die Anforderung. - Der gewählte Ansprechpartner wird gegen die Akte geprüft, bevor er gespeichert wird; sein Name steht anschließend im Briefkopf. **Nebenbei behoben:** Der Schreiben-Editor verwarf die `empfaengerAnschrift` aus dem Entwurf — sein State startete immer leer. Jetzt kommt die Anschrift des Ansprechpartners im Formular an. **Geprüft:** 9 Einheitstests, 5 End-to-End-Tests. Volle Suite grün: 635 Unit, 117 e2e, Typecheck und Lint sauber. Die beiden Trigramm-Indizes habe ich nach dem Anwenden der Migration geprüft — sie stehen. Version 1.9.0. Closes #9
florian.wilde added 1 commit 2026-08-23 14:32:09 +00:00
Ein namentlich adressiertes Schreiben landet bei der Person, die den
Vorgang kennt, statt in der Poststelle. Am Vorgang laesst sich jetzt ein
Kontakt aus dem Verzeichnis als Ansprechpartner benennen; die
Sachstandsanfrage redet ihn an, und sein Name steht ueber der Behoerde.

Die Sachstandsanfrage konnte das schon - sie bekam den Namen nur nie
uebergeben. entwurf.ts lud einen der verknuepften Kontakte und verwarf
ihn wieder. Wer angeredet wird, ist jetzt eine Entscheidung und kein
Zufall.

Aufbau:
- Migration: ansprechpartnerId am Vorgang (SetNull - ein Vorgang darf
  nicht daran haengen, dass es den Kontakt noch gibt) und anrede am
  Kontakt.
- Die Anrede als reine Funktion in kontakte/anrede.ts. Geraten wird nie:
  ohne hinterlegte Anrede wird mit vollem Namen angeredet. Ein leerer
  Name mit gesetzter Anrede faellt auf die allgemeine Anrede zurueck -
  "Sehr geehrte Frau ," darf nie herausgehen.
- Der Wechsel des Ansprechpartners steht mit NAMEN im Protokoll. Zwei
  cuids nebeneinander waeren protokolliert, aber nicht nachvollziehbar,
  und nachvollziehbar war die Anforderung.
- Der Ansprechpartner wird gegen die Akte geprueft, bevor er gespeichert
  wird - sein Name steht anschliessend im Briefkopf.

Nebenbei behoben: Der Schreiben-Editor verwarf die empfaengerAnschrift
aus dem Entwurf, sein State startete immer leer. Jetzt kommt die
Anschrift des Ansprechpartners im Formular an.

Geprueft: neun Einheitstests fuer die Anrede, fuenf End-to-End-Tests von
der Auswahl bis zum Protokolleintrag.

Refs #9
florian.wilde merged commit 98d1338eae into main 2026-08-23 14:55:49 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/betreuungs-cockpit#20