Commit graph

8 commits

Author SHA1 Message Date
813cbb998f fix: Corriger erreurs envoi emails groupés (bulk_communication + formatage email source) 2025-11-18 19:18:25 +01:00
6170365fc0 feat: Ajout programme de parrainage, bannières promo, déduplication webhooks et avenants signés
- Programme de parrainage (referrals):
  * Page /parrainage pour clients et staff
  * API /api/referrals (GET, POST)
  * Table referrals avec tracking complet
  * Email template avec design orange/gradient
  * Réductions: 30€ HT parrain, 20€ HT filleul

- Bannières promotionnelles (promo_banners):
  * Page staff /staff/offres-promo pour gérer les bannières
  * API /api/promo-banners (CRUD complet)
  * Composant PromoBanner affiché en haut de l'espace
  * Compte à rebours optionnel
  * Customisation couleurs (gradient, texte, CTA)

- Déduplication des webhooks DocuSeal:
  * Table webhook_events pour tracker les webhooks traités
  * Helper checkAndMarkWebhookProcessed()
  * Intégré dans docuseal-amendment et docuseal-amendment-completed
  * Prévient les doublons d'emails

- Avenants signés:
  * API GET /api/contrats/[id]/avenants
  * Affichage des avenants signés dans DocumentsCard
  * Génération d'URLs presignées S3

- Brouillons d'emails groupés:
  * Table bulk_email_drafts pour sauvegarder les brouillons
  * Template HTML bulk-email-template.html

- Améliorations ContractsGrid:
  * Ajout filtre par production (dépendant de la structure)
  * Tri par production

- Templates emails:
  * referral-template.html (parrainage)
  * bulk-email-template.html (emails groupés staff)
2025-10-31 23:31:53 +01:00
e6c7dc45cc feat: améliorations UX formulaire contrats et notification paiement salaires
- Ajout bouton calculatrice avec gradient bleu-indigo
- Ajout bouton Minima avec gradient émeraude-teal et lien vers /minima-ccn
- Correction focus trap : autoriser liens target=_blank
- Ajout champs conditionnels panier repas (nombre, CCN, montant personnalisé)
- DatePickerCalendar : initialisation sur date de début contrat si pas de dates sélectionnées
- DatesQuantityModal : option 'Ne pas appliquer...' pour tous types (repré/répét/heures)
- DatesQuantityModal : adaptation texte selon type (représentations/répétitions/heures)
- DatesQuantityModal : champ 'Appliquer à toutes les dates' pour saisie rapide
- DatesQuantityModal : reset quantités quand option 'Ne pas appliquer' cochée
- DatesQuantityModal : aperçu sans détails quand option cochée
- Intégration durée répétitions dans formatage dates (3h ou 4h, avec 'chacun' si >1)
- Notification paiement salaires : nouvel email 'salary-transfer-payment-confirmation'
- Notification paiement salaires : API route /api/staff/virements-salaires/[id]/notify-payment-sent
- Notification paiement salaires : modal NotifyPaymentSentModal avec détails paiement
- Notification paiement salaires : tracking avec payment_notification_sent/sent_at
- Notification paiement salaires : affichage statut dans modal virements
- Template email : support detailsCardDisclaimer pour mentions légales
2025-10-29 21:35:10 +01:00
2520a73602 feat: Migration Lambda avenant completion vers Next.js API
- Créé route /api/webhooks/docuseal-amendment-completed
- Ajouté templates emails amendment-completed-employer et amendment-completed-employee
- Intégration système emails universel v2 (Handlebars)
- Logging dans Supabase email_logs (plus d'Airtable)
- Types ajoutés à EmailTypeV2 et EmailType
- Documentation complète dans LAMBDA_MIGRATION_AVENANT_COMPLETION.md
- Script SQL migration dans MIGRATION_SQL_EMAIL_TYPES.md

Migration complète AWS Lambda → Next.js cdg1 (RGPD compliant)
2025-10-23 19:39:38 +02:00
584af5450d fix: webhook avenant - utiliser données Supabase + logs emails
- Webhook avenant: utiliser les données du contrat depuis Supabase quand Lambda envoie 'Non spécifié'
- Ajout des types d'emails manquants dans EmailType (signature-request-employee-amendment, etc.)
- Les emails d'avenant seront maintenant loggés correctement dans email_logs

Note: Exécuter dans Supabase SQL:
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'signature-request-employee-amendment';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'signature-request-salarie';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'contribution-notification';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-reply';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-ticket-created';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-ticket-reply';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'contact-support';
2025-10-23 18:56:29 +02:00
a0bdbd0543 Système appel à virement staff 2025-10-13 13:28:41 +02:00
d99db42e12 Système signatures groupées 2025-10-13 00:14:16 +02:00
f27de28bb4 Initial commit 2025-10-12 17:05:46 +02:00