feat(mail): HTML-Mails mit Link zum Ticket/zur Rechnung als Schaltfläche

Mails wurden bisher nur als Klartext verschickt. sendMail/sendTemplateMail
verschicken jetzt zusätzlich eine einfache, mandantenfarbige HTML-Version
(renderTemplateHtml in @kc/platform/mail): ein Platzhalter, dessen Name auf
"Link" endet, wird darin zu einer Schaltfläche statt einer nackten URL; der
Klartext-Teil behält den Link weiterhin sichtbar (Fallback für Mailprogramme
ohne HTML-Ansicht).

ticket_created/ticket_message bekommen dafür eine neue Variable
{{ticketLink}}, invoice_issued {{invoiceLink}} (Migration 025 – nur
Vorlagen mit noch unverändertem Text werden angepasst, damit von Personal
bereits bearbeitete Texte nicht überschrieben werden).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kundencenter 2026-09-28 23:00:31 +02:00
parent c0289317bf
commit 8616e51adc
6 changed files with 59 additions and 10 deletions

View file

@ -0,0 +1,17 @@
-- Ticket- und Rechnungsmails bekommen einen direkten Link zum jeweiligen Datensatz (wird beim Versand als
-- Schaltfläche dargestellt, siehe renderTemplateHtml in @kc/platform/mail). Nur Vorlagen mit noch unverändertem
-- Text werden angepasst, damit bereits von Personal angepasste Texte nicht überschrieben werden.
UPDATE mail_templates SET
variables_json = JSON_ARRAY('name', 'number', 'subject', 'ticketLink'),
body = 'Hallo {{name}},\n\nIhr Ticket „{{subject}}“ ({{number}}) wurde bei uns erstellt. Wir melden uns, sobald es eine Antwort gibt.\n\n{{ticketLink}}\n'
WHERE `key` = 'ticket_created' AND body = 'Hallo {{name}},\n\nIhr Ticket „{{subject}}“ ({{number}}) wurde bei uns erstellt. Wir melden uns, sobald es eine Antwort gibt.\n';
UPDATE mail_templates SET
variables_json = JSON_ARRAY('name', 'number', 'subject', 'ticketLink'),
body = 'Hallo {{name}},\n\nes gibt eine neue Antwort zu Ihrem Ticket „{{subject}}“ ({{number}}).\n\n{{ticketLink}}\n'
WHERE `key` = 'ticket_message' AND body = 'Hallo {{name}},\n\nes gibt eine neue Antwort zu Ihrem Ticket „{{subject}}“ ({{number}}). Bitte im Kundencenter ansehen und bei Bedarf antworten.\n';
UPDATE mail_templates SET
variables_json = JSON_ARRAY('name', 'number', 'amount', 'dueDate', 'invoiceLink'),
body = 'Hallo {{name}},\n\nIhre Rechnung {{number}} über {{amount}} wurde erstellt, fällig am {{dueDate}}.\n\n{{invoiceLink}}\n'
WHERE `key` = 'invoice_issued' AND body = 'Hallo {{name}},\n\nIhre Rechnung {{number}} über {{amount}} wurde erstellt, fällig am {{dueDate}}. Sie können sie im Kundencenter einsehen und als PDF herunterladen.\n';