feat(admin): Anmeldehinweise der Willkommensmail in der Vorlage bearbeitbar
Tessera CI/CD / Lint & Type Check (push) Successful in 51s
Tessera CI/CD / Tests (push) Successful in 1m29s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 19s
Tessera CI/CD / Build & Publish Images (push) Successful in 4m14s

Neue Felder loginHintDirectory/loginHintLocal (Platzhalter, Pflicht, max. 1000),
Migration 20260930170000 (nullable, leer = Standard aus @tessera/shared).
Knopf Passwort festlegen und Gueltigkeitshinweis bleiben fest; local-no-link
wird nie erzeugt und bleibt fest. Vorschau springt beim Bearbeiten auf die
passende Kontoart. Lokal im Browser nachgewiesen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-30 17:56:05 +02:00
parent e10da76259
commit 714f731ac9
18 changed files with 411 additions and 53 deletions
+17 -6
View File
@@ -293,15 +293,16 @@ export type CustomModuleCategory = (typeof CUSTOM_MODULE_CATEGORIES)[number];
* Eigene Vorlage der Willkommensmail (Administrator → Willkommensmail).
*
* Eine Stelle fuer API und Oberflaeche: welche Platzhalter es gibt, wie lang
* die vier Textfelder sein duerfen, wie die Standardtexte lauten (Vorbelegung
* die sechs Textfelder sein duerfen, wie die Standardtexte lauten (Vorbelegung
* im Formular, "Auf Standard zuruecksetzen", Versand ohne eigene Vorlage) und
* wie unbekannte Platzhalter erkannt werden. Die API lehnt eine Vorlage mit
* unbekanntem Platzhalter mit 400 ab; das Formular benennt ihn schon vorher.
*
* Die festen Bausteine der Mail (Kopf, Kasten Adresse/Benutzername,
* Anmeldehinweis mit "Passwort festlegen", Knopf "Zu Tessera", Fusszeile)
* sind KEIN Teil der Vorlage — so kann eine eigene Vorlage die Anmeldung
* nicht kaputt machen.
* Die festen Bausteine der Mail (Kopf, Kasten Adresse/Benutzername, Knopf
* "Passwort festlegen" samt Gueltigkeitshinweis, Knopf "Zu Tessera",
* Fusszeile) sind KEIN Teil der Vorlage — so kann eine eigene Vorlage die
* Anmeldung nicht kaputt machen. Anpassbar ist nur der Anmeldehinweis-TEXT
* davor, getrennt fuer Verzeichniskonten und lokale Konten.
*/
export const WELCOME_MAIL_PLACEHOLDERS = [
'name',
@@ -314,11 +315,15 @@ export const WELCOME_MAIL_PLACEHOLDERS = [
export type WelcomeMailPlaceholder = (typeof WELCOME_MAIL_PLACEHOLDERS)[number];
/** Die vier bearbeitbaren Texte der Willkommensmail. */
/** Die sechs bearbeitbaren Texte der Willkommensmail. */
export interface WelcomeMailTexts {
subject: string;
heading: string;
intro: string;
/** Anmeldehinweis fuer verzeichnisgefuehrte Konten (Windows-Passwort). */
loginHintDirectory: string;
/** Anmeldehinweis fuer lokale Konten, steht vor dem Knopf "Passwort festlegen". */
loginHintLocal: string;
closing: string;
}
@@ -327,6 +332,8 @@ export const WELCOME_MAIL_LIMITS: Readonly<Record<keyof WelcomeMailTexts, number
subject: 200,
heading: 200,
intro: 4000,
loginHintDirectory: 1000,
loginHintLocal: 1000,
closing: 4000,
};
@@ -339,6 +346,10 @@ export const DEFAULT_WELCOME_MAIL_TEXTS: Readonly<WelcomeMailTexts> = {
heading: 'Willkommen bei Tessera, {{name}}!',
intro:
'Für Sie wurde ein Zugang zu Tessera eingerichtet – Ihrer zentralen Plattform für Werkzeuge und Abläufe im Unternehmen. Alles, was Sie für Ihre tägliche Arbeit brauchen, finden Sie dort an einem Ort.',
loginHintDirectory:
'Melden Sie sich mit Ihrem Benutzernamen und Ihrem gewohnten Windows-Passwort an.',
loginHintLocal:
'Bevor Sie sich zum ersten Mal anmelden, legen Sie bitte Ihr persönliches Passwort fest.',
closing:
'Tipp: Tessera gibt es auch als Desktop-App – den Download finden Sie auf der Anmeldeseite.\n\nViel Erfolg mit Tessera!',
};