Checkpoint: Autoriser les formateurs à accéder aux exports PDF/Excel et aux feuilles de présence : remplacement de adminProcedure par protectedProcedure pour les trois procédures exportExcel, exportPDF et exportFeuillePresence

This commit is contained in:
Manus
2026-01-25 05:28:18 -05:00
parent 3c6f3eb741
commit 60aeee71c7
2 changed files with 10 additions and 3 deletions

View File

@@ -1024,7 +1024,7 @@ export const appRouter = router({
return await generateEmailPreview(input);
}),
exportExcel: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportExcel: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });
@@ -1065,7 +1065,7 @@ export const appRouter = router({
};
}),
exportPDF: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportPDF: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });
@@ -1106,7 +1106,7 @@ export const appRouter = router({
};
}),
exportFeuillePresence: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportFeuillePresence: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });

View File

@@ -1200,3 +1200,10 @@
- [x] Ajouter une validation frontend en temps réel dans les champs de date pour afficher un message d'erreur immédiat
- [ ] Restreindre les droits des formateurs (pas de modification/suppression de formations et séquences)
- [ ] Restreindre les droits des formateurs pour qu'ils ne puissent pas créer/modifier/supprimer des apprenants
## Autoriser les formateurs à accéder aux exports et feuilles de présence
- [x] Identifier les procédures backend concernées (exports PDF/Excel, feuille de présence)
- [x] Modifier les restrictions pour autoriser les formateurs
- [ ] Tester les modifications
- [ ] Déployer sur le VPS