feat: controller securise pour servir les PDFs de devis + stockage prive
src/Controller/DevisPdfController.php (nouveau):
- Route /devis/pdf/{id}/{type} avec type = unsigned|signed|audit
- Requiert ROLE_USER minimum
- checkAccess(): les ROLE_EMPLOYE ont toujours acces,
pour les clients un TODO est prepare pour verifier que le
client connecte est bien lie au devis (a implementer quand
la relation Customer sera ajoutee sur Devis)
- Sert le fichier via BinaryFileResponse en inline (affichage
dans le navigateur) avec nom de telechargement propre
(ex: signed-04-2026-00001.pdf)
config/packages/vich_uploader.yaml:
- Mapping devis_pdf: stockage deplace de public/uploads/devis
vers var/uploads/devis (hors du dossier public, inaccessible
directement par URL)
- uri_prefix change en /devis/pdf (pointe vers le controller)
config/packages/security.yaml:
- Suppression de la regle access_control sur /uploads/devis
(remplacee par le controller avec verification plus fine)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,6 @@ vich_uploader:
|
||||
upload_destination: '%kernel.project_dir%/public/uploads/avatars'
|
||||
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||
devis_pdf:
|
||||
uri_prefix: /uploads/devis
|
||||
upload_destination: '%kernel.project_dir%/public/uploads/devis'
|
||||
uri_prefix: /devis/pdf
|
||||
upload_destination: '%kernel.project_dir%/var/uploads/devis'
|
||||
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||
|
||||
Reference in New Issue
Block a user