src/Entity/Devis.php:
- submitterSiteconseilId (int nullable): ID du soumetteur cote SITECONSEIL
dans DocuSeal apres signature
- submitterCustomerId (int nullable): ID du soumetteur cote client
dans DocuSeal apres signature
- unsignedPdf (string nullable) + unsignedPdfFile (Vich): PDF non signe
- signedPdf (string nullable) + signedPdfFile (Vich): PDF signe
- auditPdf (string nullable) + auditPdfFile (Vich): certificat d'audit
- updatedAt (DateTimeImmutable nullable): mis a jour automatiquement
a chaque upload de fichier via les setters *File()
- Annotation #[Vich\Uploadable] sur la classe
- Les 3 champs fichier utilisent le mapping 'devis_pdf'
config/packages/vich_uploader.yaml:
- Nouveau mapping devis_pdf: stockage dans public/uploads/devis
avec SmartUniqueNamer pour eviter les collisions de noms
config/packages/security.yaml:
- Nouvelle regle access_control: /uploads/devis requiert ROLE_USER
(empeche l'acces aux PDF de devis sans etre connecte)
migrations/Version20260402203334.php:
- Ajout colonnes submitter_siteconseil_id, submitter_customer_id,
unsigned_pdf, signed_pdf, audit_pdf, updated_at sur la table devis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>