/** * Source-of-truth: ticket-created-client email template (client-facing). * * Sent to the primary client/contact (and external watchers) when a ticket is * created. Simplified counterpart of the MSP ticket-created template: keeps * the current status/priority, the assigned agent's name, and the ticket * description, but drops MSP-internal details (assignee email, requester * contact block, board/category/location rows, created-by line). */ const { wrapEmailLayout } = require('../../_shared/emailLayout.cjs'); const { BADGE_BG, BRAND_DARK, BRAND_PRIMARY, INFO_BOX_BG, INFO_BOX_BORDER, } = require('../../_shared/constants.cjs'); const TEMPLATE_NAME = 'ticket-created-client'; const SUBTYPE_NAME = 'Ticket Created Client'; const SUBJECTS = { en: 'Your Ticket Has Been Created • {{ticket.title}}', fr: 'Votre ticket a été créé • {{ticket.title}}', es: 'Su ticket ha sido creado • {{ticket.title}}', de: 'Ihr Ticket wurde erstellt • {{ticket.title}}', nl: 'Uw ticket is aangemaakt • {{ticket.title}}', it: 'Il suo ticket è stato creato • {{ticket.title}}', pl: 'Twoje zgłoszenie zostało utworzone • {{ticket.title}}', }; /* eslint-disable max-len */ const COPY = { en: { headerLabel: 'Ticket Created', intro: 'Your ticket for {{ticket.clientName}} has been created. Our team will review it and follow up — you can track progress using the link below.', badgePrefix: 'Ticket #', priority: 'Priority', status: 'Status', assignedTo: 'Assigned To', descriptionLabel: 'Description', viewButton: 'View Ticket', footer: 'Powered by Alga PSA · Keeping teams aligned', textHeader: 'Your Ticket Has Been Created', textDescription: 'Description', textView: 'View ticket', }, fr: { headerLabel: 'Ticket Créé', intro: "Votre ticket pour {{ticket.clientName}} a été créé. Notre équipe va l'examiner et vous tiendra informé — vous pouvez suivre son avancement via le lien ci-dessous.", badgePrefix: 'Ticket #', priority: 'Priorité', status: 'Statut', assignedTo: 'Assigné à', descriptionLabel: 'Description', viewButton: 'Voir le Ticket', footer: 'Powered by Alga PSA · Gardons les équipes alignées', textHeader: 'Votre ticket a été créé', textDescription: 'Description', textView: 'Voir le ticket', }, es: { headerLabel: 'Ticket Creado', intro: 'Su ticket para {{ticket.clientName}} ha sido creado. Nuestro equipo lo revisará y le mantendrá informado; puede seguir el progreso mediante el enlace a continuación.', badgePrefix: 'Ticket #', priority: 'Prioridad', status: 'Estado', assignedTo: 'Asignado a', descriptionLabel: 'Descripción', viewButton: 'Ver Ticket', footer: 'Powered by Alga PSA · Manteniendo a los equipos alineados', textHeader: 'Su ticket ha sido creado', textDescription: 'Descripción', textView: 'Ver ticket', }, de: { headerLabel: 'Ticket Erstellt', intro: 'Ihr Ticket für {{ticket.clientName}} wurde erstellt. Unser Team wird es prüfen und sich bei Ihnen melden — über den untenstehenden Link können Sie den Fortschritt verfolgen.', badgePrefix: 'Ticket #', priority: 'Priorität', status: 'Status', assignedTo: 'Zugewiesen an', descriptionLabel: 'Beschreibung', viewButton: 'Ticket Anzeigen', footer: 'Powered by Alga PSA · Teams auf Kurs halten', textHeader: 'Ihr Ticket wurde erstellt', textDescription: 'Beschreibung', textView: 'Ticket anzeigen', }, nl: { headerLabel: 'Ticket Aangemaakt', intro: 'Uw ticket voor {{ticket.clientName}} is aangemaakt. Ons team bekijkt het en houdt u op de hoogte — via de onderstaande link kunt u de voortgang volgen.', badgePrefix: 'Ticket #', priority: 'Prioriteit', status: 'Status', assignedTo: 'Toegewezen aan', descriptionLabel: 'Beschrijving', viewButton: 'Ticket Bekijken', footer: 'Powered by Alga PSA · Teams op één lijn houden', textHeader: 'Uw ticket is aangemaakt', textDescription: 'Beschrijving', textView: 'Ticket bekijken', }, it: { headerLabel: 'Ticket creato', intro: 'Il suo ticket per {{ticket.clientName}} è stato creato. Il nostro team lo esaminerà e la terrà aggiornata — può seguire i progressi tramite il link qui sotto.', badgePrefix: 'Ticket #', priority: 'Priorità', status: 'Stato', assignedTo: 'Assegnato a', descriptionLabel: 'Descrizione', viewButton: 'Apri ticket', footer: 'Powered by Alga PSA · Manteniamo i team allineati', textHeader: 'Il suo ticket è stato creato', textDescription: 'Descrizione', textView: 'Apri ticket', }, pl: { headerLabel: 'Nowe zgłoszenie', intro: 'Twoje zgłoszenie dla {{ticket.clientName}} zostało utworzone. Nasz zespół zajmie się nim wkrótce — postęp możesz śledzić, korzystając z poniższego linku.', badgePrefix: 'Zgłoszenie #', priority: 'Priorytet', status: 'Status', assignedTo: 'Przypisane do', descriptionLabel: 'Opis', viewButton: 'Zobacz zgłoszenie', footer: 'Powered by Alga PSA', textHeader: 'Twoje zgłoszenie zostało utworzone', textDescription: 'Opis', textView: 'Zobacz zgłoszenie', }, }; /* eslint-enable max-len */ function buildBodyHtml(c) { return `
${c.intro}
| ${c.priority} | {{ticket.priority}} |
| ${c.status} | {{ticket.status}} |
| ${c.assignedTo} | {{ticket.assignedToName}} |