fix: Corriger erreurs envoi emails groupés (bulk_communication + formatage email source)

This commit is contained in:
odentas 2025-11-18 19:18:25 +01:00
parent ce9e97d6ec
commit 813cbb998f
3 changed files with 19 additions and 10 deletions

View file

@ -172,15 +172,20 @@ export async function POST(request: NextRequest) {
});
// Formater l'adresse email source correctement
let sourceEmail = fromEmail;
if (fromEmail && !fromEmail.includes('<')) {
// Si fromEmail ne contient pas déjà un format "Nom <email>", on l'ajoute
sourceEmail = `Espace Paie Odentas <${fromEmail}>`;
} else {
// Si fromEmail contient déjà un format, on l'utilise tel quel
sourceEmail = fromEmail;
// Extraire l'email pur de fromEmail (peut contenir "Nom <email>" ou juste "email")
let pureEmail = fromEmail;
if (fromEmail && fromEmail.includes('<') && fromEmail.includes('>')) {
// Extraire l'email entre < et >
const match = fromEmail.match(/<([^>]+)>/);
pureEmail = match ? match[1] : fromEmail;
} else if (fromEmail && fromEmail.includes('<')) {
// Si < présent mais pas >, extraire la partie après <
pureEmail = fromEmail.split('<')[1] || fromEmail;
}
// Construire le format Source correct : "Nom <email@domain.com>"
const sourceEmail = `Espace Paie Odentas <${pureEmail}>`;
const cmd = new SendEmailCommand({
Destination: {
ToAddresses: [recipient.email]

View file

@ -1084,8 +1084,8 @@ export default function ContractEditor({
heures_total: useHeuresMode ? heuresTotal || null : null,
minutes_total: useHeuresMode ? minutesTotal : null,
precisions_salaire: precisionsSalaire || null, // Nouveau champ pour précisions salaire
autreprecision_duree: autrePrecisionDuree || null, // Autre précision durée
autreprecision_salaire: autrePrecisionSalaire || null, // Autre précision salaire
autreprecision_duree: autrePrecisionDuree ? autrePrecisionDuree : null, // Autre précision durée
autreprecision_salaire: autrePrecisionSalaire ? autrePrecisionSalaire : null, // Autre précision salaire
// Map to database fields
// Pour les metteurs en scène, garder nb_representations même en mode heures
cachets_representations: (useHeuresMode && professionPick?.code !== "MET040") ? null : nbRepresentations || null,
@ -1116,7 +1116,10 @@ export default function ContractEditor({
joursTravailDisplay,
useHeuresMode,
categoriePro,
professionCode: professionPick?.code
professionCode: professionPick?.code,
autrePrecisionDuree,
autrePrecisionSalaire,
precisionsSalaire
});
console.log("💾 Sauvegarde contrat - payload:", payload);

View file

@ -34,6 +34,7 @@ export type EmailType =
| 'twofa-enabled'
| 'twofa-disabled'
| 'bulk-email'
| 'bulk_communication'
| 'system-notification'
| 'other';