feat(v2.0.2): Corrections de sécurité critiques et fonctionnalité de réactivation des devis

- Correction de 14 vulnérabilités SQL (8 critiques, 6 moyennes)
- Suppression de la fonction autocomplete non utilisée
- Migration complète vers PDO avec requêtes préparées
- Ajout du bouton 'Réactiver' pour les devis archivés (statut 20 → 1)
- Conversion des appels $.ajax en fetch API (vanilla JS)
- Correction des erreurs JavaScript empêchant l'attachement d'événements
- Mise à jour de la documentation (README.md et TODO.md)

Sécurité: Utilisation systématique de intval() et requêtes préparées PDO
UI: Nouveau bouton vert dans la grille 2x2 des actions sur devis archivés
Historique: Traçabilité dans devis_histo lors de la réactivation
This commit is contained in:
2025-09-12 20:25:48 +02:00
parent eabb4bf67a
commit 443b0509df
16 changed files with 4355 additions and 3318 deletions

View File

@@ -247,10 +247,11 @@ ob_start();
$margeTotale = floatval($devis["marge_totale"]);
echo '<td class="clickable celArchives right" data-rid="' . $devis["rowid"] . '">' . number_format($margeTotale, 2, ',', ' ') . ' &percnt;</td>';
echo '<td class="center">';
echo '<div class="btn-group">';
echo '<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 2px;">';
echo '<button class="btn btn-info btn-xs btnDupDevis" data-rid="' . $devis["rowid"] . '" title="Dupliquer ce devis"><i class="fa fa-copy"></i></button>';
echo '<button class="btn btn-primary btn-xs btnExpExcelDevis" data-rid="' . $devis["rowid"] . '" title="Exporter ce devis au format Excel"><i class="fa fa-file-excel-o"></i></button>';
echo '<button class="btn btn-warning btn-xs btnPdfDevis" data-rid="' . $devis["rowid"] . '" title="Consulter le devis SAP PDF"><i class="fa fa-file-pdf-o"></i></button>';
echo '<button class="btn btn-success btn-xs btnReactiverDevis" data-rid="' . $devis["rowid"] . '" title="Réactiver ce devis"><i class="fa fa-refresh"></i></button>';
echo '</div>';
echo '</td></tr>';
$i++;