Commit graph

7 commits

Author SHA1 Message Date
69cb2c5a0a fix: Ajouter champs manquants au type Amendment
- employee_matricule
- production_name
- numero_avenant
- date_avenant
- type_avenant
- motif_avenant

Corrige l'erreur de build Vercel.
2025-11-05 18:32:49 +01:00
31459f3c10 feat: Ajout fonctionnalité salaires par date avec JSONB
 Nouvelle fonctionnalité
- Ajout mode 'Saisir le salaire par date' dans création de contrat
- Interface de saisie compacte et moderne par représentation/répétition/jour
- Stockage en JSONB dans colonne salaires_par_date
- Affichage détaillé dans contrats/[id] et staff/contrats/[id]

🗄️ Base de données
- Migration SQL : ajout colonne salaires_par_date JSONB
- Index GIN pour requêtes performantes sur JSONB
- Index partial sur le champ mode
- Fonction de validation validate_salaires_par_date()

🎨 Interface utilisateur
- Design en ligne (inline) au lieu de tableau traditionnel
- Labels courts (R1, R2 pour représentations, S1, S2 pour services)
- Cartes par catégorie avec codes couleur (indigo/purple/green)
- Calculatrice et Minima accessibles dans les deux modes
- Calculatrice désactivée en mode par_date (pas de champ unique)
- Minimum conventionnel retiré du menu déroulant en mode par_date
- Calcul automatique du total

💻 Code
- Types TypeScript : SalaireParDate avec interfaces complètes
- Fonction convertSalariesByDateToJSON() pour conversion formulaire → JSONB
- Validation adaptée selon le mode (global vs par_date)
- API /api/cddu-contracts : support du champ salaires_par_date
- API /api/contrats/[id] : retour du champ salaires_par_date
- Contournement temporaire de la RPC pour utiliser service_role

📝 Fichiers modifiés
- migrations/add_salaires_par_date_column.sql (nouveau)
- types/salaires.ts (nouveau)
- components/contrats/NouveauCDDUForm.tsx
- app/api/cddu-contracts/route.ts
- app/api/contrats/[id]/route.ts
- app/(app)/contrats/[id]/page.tsx
- components/staff/contracts/ContractEditor.tsx
2025-10-29 23:12:15 +01:00
44fc21c817 feat: Ajout saisie heures répétitions et correction PDF avenants
- Ajout champs heures totales et minutes pour répétitions dans AmendmentDureeForm
- Intégration DatesQuantityModal pour saisie heures par jour de répétition
- Ajout type 'heures_repetitions' dans dateFormatter et DatesQuantityModal
- Correction envoi precisions_salaire à PDFMonkey pour les avenants
- Ajout champs séparés dates_representations_detail et dates_repetitions_detail
- Correction logique dates_repetitions_heures pour éviter doublons dans PDF
2025-10-24 15:53:00 +02:00
5b72941777 feat: Système complet de gestion des avenants avec signatures électroniques
 Nouvelles fonctionnalités
- Page de gestion des avenants (/staff/avenants)
- Page de détail d'un avenant (/staff/avenants/[id])
- Création d'avenants (objet, durée, rémunération)
- Génération automatique de PDF d'avenant
- Signature électronique via DocuSeal (employeur puis salarié)
- Changement manuel du statut d'un avenant
- Suppression d'avenants

🔧 Routes API
- POST /api/staff/amendments/create - Créer un avenant
- POST /api/staff/amendments/generate-pdf - Générer le PDF
- POST /api/staff/amendments/[id]/send-signature - Envoyer en signature
- POST /api/staff/amendments/[id]/change-status - Changer le statut
- POST /api/webhooks/docuseal-amendment - Webhook après signature employeur
- GET /api/signatures-electroniques/avenants - Liste des avenants en signature

📧 Système email universel v2
- Migration vers le système universel v2 pour les emails d'avenants
- Template 'signature-request-employee-amendment' pour salariés
- Insertion automatique dans DynamoDB pour la Lambda
- Mise à jour automatique du statut dans Supabase

🗄️ Base de données
- Table 'avenants' avec tous les champs (objet, durée, rémunération)
- Colonnes de notification (last_employer_notification_at, last_employee_notification_at)
- Liaison avec cddu_contracts

🎨 Composants
- AvenantDetailPageClient - Détail complet d'un avenant
- ChangeStatusModal - Changement de statut manuel
- SendSignatureModal - Envoi en signature
- DeleteAvenantModal - Suppression avec confirmation
- AvenantSuccessModal - Confirmation de création

📚 Documentation
- AVENANT_EMAIL_SYSTEM_MIGRATION.md - Guide complet de migration

🐛 Corrections
- Fix parsing défensif dans Lambda AWS
- Fix récupération des données depuis DynamoDB
- Fix statut MFA !== 'verified' au lieu de === 'unverified'
2025-10-23 15:30:11 +02:00
34b3464132 fix: Utiliser categorie_pro du contrat pour déterminer employee_catpro dans avenants
- Correction de la détection artiste/technicien dans génération PDF avenant
- Utilisation de contract.categorie_pro au lieu de déduction depuis type_de_contrat
- Permet l'affichage correct des heures pour les techniciens dans le PDF
2025-10-22 23:59:25 +02:00
0083976034 feat: Système complet de gestion des avenants aux contrats
- Création page staff/avenants avec tableau et recherche
- Modal moderne de création d'avenant avec recherche de contrat
- Formulaires dynamiques pour objet, durée et rémunération
- Pré-remplissage automatique des données du contrat d'origine
- Sélection multi-éléments à avenanter
- Calendriers de dates avec modal de quantités
- Génération PDF via PDFMonkey (template BC5E26D6-4A3B-45F8-8376-25F83C17A413)
- Stockage PDF dans S3 (bucket odentas-docs, préfixe avenants/)
- Gestion z-index pour modals imbriqués (z-100+)
- Support CDDU/RG et Artiste/Technicien
- Design cohérent avec le reste du site
2025-10-22 23:09:27 +02:00
d24af139f9 Initial commit - TypeScript errors fixed, build working 2025-10-07 14:51:56 +02:00