Feature #79
Updated by Redmine Admin about 2 months ago
## Spec — Onglet Régie : suppression PDF (Fiche technique) + validation repas ### Deux défauts liés (même surface frontend) 1. **Suppression PDF (Fiche technique)** échoue pour certains événements (surtout récents) : le fichier reste, sans erreur, résumé non mis à jour. 2. **Validation repas** : l'icône verte n'apparaît qu'après rechargement. ### Cause racine probable Code frontend React (composants onglet Régie sous src/components/) au-dessus de base44.entities.Event (seam AppClient) + TanStack Query. - **Repas (cache)** : la mutation de validation ne fait pas invalidateQueries / optimistic update sur la query qui alimente l'icône + le statut régie → UI périmée jusqu'au refetch manuel. - **Suppression PDF (delete réel + cache)** : échec UNIQUEMENT sur événements récents → incohérence d'identifiant/forme de champ post-migration Base44→Prisma dans le retrait du fichier de l'Event (matching par URL vs id, liste de fichiers stockée différemment, ou écriture non persistée). Deux volets : (a) corriger le retrait effectif pour TOUS les events, (b) invalider/mettre à jour la liste + le résumé. ### Approche 1. Localiser composants Fiche technique + Repas et leurs hooks mutation/query. 2. Repas : invalidation/optimistic update dans onSuccess/onMutate. 3. PDF : reproduire l'échec sur event récent, corriger le retrait (mismatch id/champ), invalider/mettre à jour liste+résumé. 4. Ne pas avaler les erreurs (afficher message si échec). 5. Tests de non-régression Régie (ajout fichiers, modif repas) couvrant events récents + anciens. ### Critères d'acceptation - Suppression PDF marche pour TOUS les events (y compris récents), disparition immédiate sans reload, résumé à jour, pas d'erreur silencieuse. - Icône verte de validation repas dès le clic, statut régie en temps réel. - Tests non-régression Régie pour events récents + anciens ; lint + typecheck verts. ### Portée : un seul lot frontend (composants Régie + chemin mutation/cache Event). Pas de découpage. conversation:34