Checkpoint: Correction du bouton téléchargement BAP : la route /api/download-bap utilise maintenant un query param pdfPath pour accepter les chemins complets avec sous-dossiers (ex: /storage/2026-04/BAP_xxx.pdf). Ajout d'une route de compatibilité qui cherche dans tous les sous-dossiers. Sécurité anti-path-traversal maintenue.
This commit is contained in:
@@ -23,9 +23,11 @@ import {
|
||||
} from "lucide-react";
|
||||
|
||||
// Helper : télécharge un PDF annoté BAP depuis son URL de stockage
|
||||
// pdfUrl peut être : '/storage/2026-04/BAP_xxx.pdf' ou '/storage/BAP_xxx.pdf'
|
||||
function downloadBapPdf(pdfUrl: string, supplierName?: string | null) {
|
||||
const filename = pdfUrl.split('/').pop() || 'BAP.pdf';
|
||||
const downloadUrl = `/api/download-bap/${filename}`;
|
||||
// Utiliser le query param pdfPath pour passer le chemin complet au serveur
|
||||
const downloadUrl = `/api/download-bap?pdfPath=${encodeURIComponent(pdfUrl)}`;
|
||||
const a = document.createElement('a');
|
||||
a.href = downloadUrl;
|
||||
a.download = supplierName ? `BAP_${supplierName.replace(/[^a-zA-Z0-9]/g, '_')}.pdf` : filename;
|
||||
|
||||
Reference in New Issue
Block a user