feat(admin): eigene Vorlage fuer die Willkommensmail mit Platzhaltern, Vorschau und Testmail
Administrator -> Willkommensmail: Betreff, Ueberschrift, Einleitung, Abschluss je
Mandant (Tabelle WelcomeMailTemplate, RLS je Mandant, Migration 20260930150000);
Platzhalter {{name}} {{vorname}} {{benutzername}} {{email}} {{adresse}} {{firma}},
unbekannte -> 400 bzw. Hinweis beim Tippen; Werte escaped, Vorlage reiner Text.
Live-Vorschau per API gerendert, Testmail an die eigene Adresse ohne Token,
Zuruecksetzen auf Standard. Feste Bausteine (Kopf, Zugangsdaten, Anmeldehinweis,
Knoepfe, Fusszeile) bleiben immer drin.
Kopf: Wellenzelle dunkel statt weiss, Streifen 600x40, Inhalt 24 px naeher –
keine weisse Luecke, wenn OWA das CID-Bild nicht zeigt.
Lokal nachgewiesen: Hinweis/Sperre bei {{xyz}}, Speichern, Testmail (Link nur
/login), echte Mail mit eigener Vorlage und 7-Tage-Link.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -88,7 +88,8 @@
|
||||
"customModules": "Custom modules",
|
||||
"ldap": "LDAP",
|
||||
"smtp": "SMTP",
|
||||
"groups": "Groups"
|
||||
"groups": "Groups",
|
||||
"welcomeMail": "Welcome email"
|
||||
},
|
||||
"role": {
|
||||
"SUPER_ADMIN": "Super Admin",
|
||||
@@ -738,6 +739,102 @@
|
||||
"create": "Add shared entry",
|
||||
"noModules": "No shared entries yet",
|
||||
"noModulesBody": "Add your first shared entry to show a website in the sidebar for all users."
|
||||
},
|
||||
"welcomeMail": {
|
||||
"title": "Welcome email",
|
||||
"description": "Choose the words Tessera uses to greet new users. The template applies to your tenant and is used for every welcome email sent from user management.",
|
||||
"loading": "Loading template …",
|
||||
"fixed": {
|
||||
"title": "What you can change – and what always stays",
|
||||
"body": "You decide the subject, heading, introduction and closing text. Everything needed to sign in is always added automatically and cannot be changed: the header with logo, the box with address and username, the sign-in hint including the “Set password” button for local accounts, the “Go to Tessera” button and the footer. This way a custom template cannot break sign-in."
|
||||
},
|
||||
"statusDefault": "The default texts are currently in use.",
|
||||
"statusCustom": "Custom template active – last changed on {date}.",
|
||||
"statusCustomBy": "Custom template active – last changed on {date} by {user}.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"fields": {
|
||||
"subject": "Subject",
|
||||
"subjectHelp": "One line, required.",
|
||||
"heading": "Heading",
|
||||
"headingHelp": "Large line at the top of the email, required.",
|
||||
"intro": "Introduction",
|
||||
"introHelp": "Shown below the heading. An empty line starts a new paragraph.",
|
||||
"closing": "Closing text",
|
||||
"closingHelp": "Shown at the end of the email, e.g. a tip and a sign-off. May be left empty."
|
||||
},
|
||||
"counter": "{count} / {max}",
|
||||
"save": "Save",
|
||||
"saving": "Saving …",
|
||||
"saved": "The template has been saved. New welcome emails will use these texts from now on.",
|
||||
"test": "Send test email to me",
|
||||
"testSending": "Sending …",
|
||||
"testSent": "The test email was sent to {email}.",
|
||||
"testHelp": "The test email goes to your own email address and shows the current form content, even if it has not been saved yet. It does not contain a real link for setting a password.",
|
||||
"reset": "Reset to default",
|
||||
"resetDone": "The default texts have been restored.",
|
||||
"resetConfirm": {
|
||||
"title": "Reset to default?",
|
||||
"body": "Your custom template will be deleted and the default texts apply again. This cannot be undone.",
|
||||
"confirm": "Reset",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"errors": {
|
||||
"load": "The template could not be loaded. Please reload the page.",
|
||||
"save": "The template could not be saved.",
|
||||
"reset": "The template could not be reset.",
|
||||
"test": "The test email could not be sent.",
|
||||
"required": "Please fill in this field.",
|
||||
"tooLong": "At most {max} characters.",
|
||||
"unknownPlaceholder": "Unknown placeholder {token}",
|
||||
"unknownPlaceholders": "Unknown placeholders {tokens}"
|
||||
},
|
||||
"placeholders": {
|
||||
"title": "Placeholders",
|
||||
"intro": "Tessera replaces placeholders with the details of each user when sending. They work in all four fields. Clicking a placeholder inserts it at the cursor position of the field you used last.",
|
||||
"colPlaceholder": "Placeholder",
|
||||
"colMeaning": "Meaning",
|
||||
"colExample": "Example",
|
||||
"insert": "Insert {token}",
|
||||
"insertHint": "Click to insert",
|
||||
"rules": "Tessera does not know any other placeholders – they are rejected when saving. The texts are plain text: formatting or HTML is not applied but shown exactly as you type it.",
|
||||
"items": {
|
||||
"name": {
|
||||
"meaning": "Display name of the user, otherwise the username",
|
||||
"example": "Max Mustermann"
|
||||
},
|
||||
"vorname": {
|
||||
"meaning": "First word of the display name, otherwise the username",
|
||||
"example": "Max"
|
||||
},
|
||||
"benutzername": {
|
||||
"meaning": "Username for signing in",
|
||||
"example": "max.mustermann"
|
||||
},
|
||||
"email": {
|
||||
"meaning": "Email address of the user",
|
||||
"example": "max.mustermann@example.com"
|
||||
},
|
||||
"adresse": {
|
||||
"meaning": "Address of Tessera",
|
||||
"example": "https://tessera.example.com"
|
||||
},
|
||||
"firma": {
|
||||
"meaning": "Name of your tenant",
|
||||
"example": "Example Ltd"
|
||||
}
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"title": "Preview",
|
||||
"accountLabel": "Preview for account type",
|
||||
"directory": "Directory account",
|
||||
"local": "Local account",
|
||||
"subject": "Subject:",
|
||||
"frameTitle": "Welcome email preview",
|
||||
"error": "The preview could not be created.",
|
||||
"blocked": "The preview updates as soon as all fields are valid.",
|
||||
"sampleHint": "The preview uses sample values (Max Mustermann) and the name of your tenant. The “Set password” link is only an example in the preview."
|
||||
}
|
||||
}
|
||||
},
|
||||
"adminModules": {
|
||||
|
||||
Reference in New Issue
Block a user