/** * Source-of-truth: ticket-team-assigned email template (client-facing). * * Sent to the client/contact when a team is assigned to their ticket. * Uses the shared email layout wrapper. */ 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-team-assigned'; const SUBTYPE_NAME = 'Ticket Team Assigned'; const SUBJECTS = { en: 'Team Assigned to Your Ticket • {{ticket.title}}', fr: 'Équipe assignée à votre ticket • {{ticket.title}}', es: 'Equipo asignado a su ticket • {{ticket.title}}', de: 'Team Ihrem Ticket zugewiesen • {{ticket.title}}', nl: 'Team toegewezen aan uw ticket • {{ticket.title}}', it: 'Team assegnato al suo ticket • {{ticket.title}}', pl: 'Zespół przypisany do Twojego zgłoszenia • {{ticket.title}}', }; /* eslint-disable max-len */ const COPY = { en: { headerLabel: 'Team Assigned', intro: "Team {{ticket.teamName}} has been assigned to your ticket for {{ticket.clientName}}. Our team is reviewing your request and will respond shortly.", badgePrefix: 'Ticket #', priority: 'Priority', status: 'Status', team: 'Assigned Team', assignedBy: 'Assigned By', requester: 'Requester', board: 'Board', category: 'Category', location: 'Location', descriptionLabel: 'Description', descriptionVar: '{{{ticket.description}}}', viewButton: 'View Ticket', footer: 'Powered by Alga PSA · Keeping teams aligned', textHeader: 'Team Assigned to Your Ticket', textTeam: 'Assigned Team', textAssignedBy: 'Assigned By', textRequester: 'Requester', textDescription: 'Description', textView: 'View ticket', }, fr: { headerLabel: 'Équipe Assignée', intro: "L'équipe {{ticket.teamName}} a été assignée à votre ticket pour {{ticket.clientName}}. Notre équipe examine votre demande et vous répondra bientôt.", badgePrefix: 'Ticket #', priority: 'Priorité', status: 'Statut', team: 'Équipe assignée', assignedBy: 'Assigné par', requester: 'Demandeur', board: 'Tableau', category: 'Catégorie', location: 'Emplacement', descriptionLabel: 'Description', descriptionVar: '{{ticket.description}}', viewButton: 'Voir le Ticket', footer: 'Powered by Alga PSA · Gardons les équipes alignées', textHeader: 'Équipe assignée à votre ticket', textTeam: 'Équipe assignée', textAssignedBy: 'Assigné par', textRequester: 'Demandeur', textDescription: 'Description', textView: 'Voir le ticket', }, es: { headerLabel: 'Equipo Asignado', intro: "El equipo {{ticket.teamName}} ha sido asignado a su ticket para {{ticket.clientName}}. Nuestro equipo está revisando su solicitud y responderá pronto.", badgePrefix: 'Ticket #', priority: 'Prioridad', status: 'Estado', team: 'Equipo asignado', assignedBy: 'Asignado por', requester: 'Solicitante', board: 'Tablero', category: 'Categoría', location: 'Ubicación', descriptionLabel: 'Descripción', descriptionVar: '{{ticket.description}}', viewButton: 'Ver Ticket', footer: 'Powered by Alga PSA · Manteniendo a los equipos alineados', textHeader: 'Equipo asignado a su ticket', textTeam: 'Equipo asignado', textAssignedBy: 'Asignado por', textRequester: 'Solicitante', textDescription: 'Descripción', textView: 'Ver ticket', }, de: { headerLabel: 'Team Zugewiesen', intro: "Team {{ticket.teamName}} wurde Ihrem Ticket für {{ticket.clientName}} zugewiesen. Unser Team überprüft Ihre Anfrage und wird sich in Kürze melden.", badgePrefix: 'Ticket #', priority: 'Priorität', status: 'Status', team: 'Zugewiesenes Team', assignedBy: 'Zugewiesen von', requester: 'Anforderer', board: 'Board', category: 'Kategorie', location: 'Standort', descriptionLabel: 'Beschreibung', descriptionVar: '{{ticket.description}}', viewButton: 'Ticket Anzeigen', footer: 'Powered by Alga PSA · Teams auf Kurs halten', textHeader: 'Team Ihrem Ticket zugewiesen', textTeam: 'Zugewiesenes Team', textAssignedBy: 'Zugewiesen von', textRequester: 'Anforderer', textDescription: 'Beschreibung', textView: 'Ticket anzeigen', }, nl: { headerLabel: 'Team Toegewezen', intro: "Team {{ticket.teamName}} is toegewezen aan uw ticket voor {{ticket.clientName}}. Ons team bekijkt uw verzoek en reageert spoedig.", badgePrefix: 'Ticket #', priority: 'Prioriteit', status: 'Status', team: 'Toegewezen team', assignedBy: 'Toegewezen door', requester: 'Aanvrager', board: 'Bord', category: 'Categorie', location: 'Locatie', descriptionLabel: 'Beschrijving', descriptionVar: '{{ticket.description}}', viewButton: 'Ticket Bekijken', footer: 'Powered by Alga PSA · Teams op één lijn houden', textHeader: 'Team toegewezen aan uw ticket', textTeam: 'Toegewezen team', textAssignedBy: 'Toegewezen door', textRequester: 'Aanvrager', textDescription: 'Beschrijving', textView: 'Ticket bekijken', }, it: { headerLabel: 'Team Assegnato', intro: "Il team {{ticket.teamName}} è stato assegnato al suo ticket per {{ticket.clientName}}. Il nostro team sta esaminando la sua richiesta e risponderà a breve.", badgePrefix: 'Ticket #', priority: 'Priorità', status: 'Stato', team: 'Team assegnato', assignedBy: 'Assegnato da', requester: 'Richiedente', board: 'Board', category: 'Categoria', location: 'Sede', descriptionLabel: 'Descrizione', descriptionVar: '{{ticket.description}}', viewButton: 'Apri ticket', footer: 'Powered by Alga PSA · Manteniamo i team allineati', textHeader: 'Team assegnato al suo ticket', textTeam: 'Team assegnato', textAssignedBy: 'Assegnato da', textRequester: 'Richiedente', textDescription: 'Descrizione', textView: 'Apri ticket', }, pl: { headerLabel: 'Zespół Przypisany', intro: "Zespół {{ticket.teamName}} został przypisany do Twojego zgłoszenia dla {{ticket.clientName}}. Nasz zespół analizuje Twoje zgłoszenie i wkrótce odpowie.", badgePrefix: 'Zgłoszenie #', priority: 'Priorytet', status: 'Status', team: 'Przypisany zespół', assignedBy: 'Przypisał(a)', requester: 'Zgłaszający', board: 'Tablica', category: 'Kategoria', location: 'Lokalizacja', descriptionLabel: 'Podsumowanie zgłoszenia', descriptionVar: '{{ticket.summary}}', viewButton: 'Zobacz zgłoszenie', footer: 'Powered by Alga PSA', textHeader: 'Zespół przypisany do Twojego zgłoszenia', textTeam: 'Przypisany zespół', textAssignedBy: 'Przypisał(a)', textRequester: 'Zgłaszający', textDescription: 'Podsumowanie', textView: 'Zobacz zgłoszenie', }, }; /* eslint-enable max-len */ function buildBodyHtml(c) { return `
${c.intro}
| ${c.priority} | {{ticket.priority}} |
| ${c.status} | {{ticket.status}} |
| ${c.team} | {{ticket.teamName}} |
| ${c.assignedBy} | {{ticket.assignedBy}} |
| ${c.requester} |
{{ticket.requesterName}}
{{ticket.requesterContact}}
|
| ${c.board} | {{ticket.board}} |
| ${c.category} | {{ticket.categoryDetails}} |
| ${c.location} | {{ticket.locationSummary}} |