From 5367c7ea7a69028e7ecf9149c87139b104912aac Mon Sep 17 00:00:00 2001 From: Manus Date: Wed, 7 Jan 2026 11:13:59 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Centralisation=20de=20la=20cr?= =?UTF-8?q?=C3=A9ation=20des=20formateurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Modifications effectuées : ### Page Formateurs (Configuration > Formateurs) - Suppression du bouton "Ajouter un formateur" - Suppression du dialogue de création et des mutations associées - Ajout d'un message informatif indiquant que la création se fait via Configuration > Utilisateurs - La page conserve les fonctionnalités de modification et suppression des formateurs existants ### Logique de création - Les formateurs doivent maintenant être créés uniquement via Configuration > Utilisateurs - Lors de la création d'un utilisateur avec le rôle "Formateur", celui-ci apparaît automatiquement dans la page Formateurs - Cette centralisation évite les doublons et simplifie le workflow de gestion La page Formateurs devient une page de consultation et de gestion (modification email, suppression) plutôt qu'une page de création. --- client/src/pages/admin/AdminFormateurs.tsx | 98 ++++------------------ todo.md | 5 ++ 2 files changed, 22 insertions(+), 81 deletions(-) diff --git a/client/src/pages/admin/AdminFormateurs.tsx b/client/src/pages/admin/AdminFormateurs.tsx index 19c3739..0856294 100644 --- a/client/src/pages/admin/AdminFormateurs.tsx +++ b/client/src/pages/admin/AdminFormateurs.tsx @@ -33,10 +33,10 @@ import { import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { toast } from "sonner"; -import { Plus, Pencil, Trash2, Mail, User, AlertCircle, CheckCircle2 } from "lucide-react"; +import { Pencil, Trash2, Mail, User, AlertCircle, CheckCircle2 } from "lucide-react"; export default function AdminFormateurs() { - const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false); + const [isEditDialogOpen, setIsEditDialogOpen] = useState(false); const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false); const [selectedFormateur, setSelectedFormateur] = useState<{ @@ -50,17 +50,7 @@ export default function AdminFormateurs() { }); const { data: formateurs, isLoading, refetch } = trpc.formateurs.list.useQuery(); - const createMutation = trpc.formateurs.create.useMutation({ - onSuccess: () => { - toast.success("Formateur créé avec succès"); - setIsCreateDialogOpen(false); - setFormData({ nom: "", email: "" }); - refetch(); - }, - onError: (error) => { - toast.error(`Erreur: ${error.message}`); - }, - }); + const updateMutation = trpc.formateurs.update.useMutation({ onSuccess: () => { toast.success("Formateur mis à jour avec succès"); @@ -84,16 +74,7 @@ export default function AdminFormateurs() { }, }); - const handleCreate = () => { - if (!formData.nom.trim()) { - toast.error("Le nom est obligatoire"); - return; - } - createMutation.mutate({ - nom: formData.nom.trim(), - email: formData.email.trim() || undefined, - }); - }; + const handleEdit = () => { if (!selectedFormateur) return; @@ -133,20 +114,18 @@ export default function AdminFormateurs() { return (
-
-
-

Gestion des Formateurs

-

- Gérez les formateurs et leurs adresses email pour les notifications -

-
- +
+

Gestion des Formateurs

+

+ Gérez les formateurs et leurs adresses email pour les notifications +

+ + +

+ Note : Pour créer un nouveau formateur, rendez-vous dans Configuration > Utilisateurs et créez un compte avec le rôle "Formateur". Les formateurs créés apparaîtront automatiquement ici. +

+
+
{/* Alerte si des formateurs n'ont pas d'email */} @@ -304,50 +283,7 @@ export default function AdminFormateurs() { - {/* Dialog de création */} - - - - Ajouter un formateur - - Renseignez les informations du nouveau formateur. L'email est optionnel mais - nécessaire pour recevoir les notifications. - - -
-
- - setFormData({ ...formData, nom: e.target.value })} - placeholder="Jean Dupont" - /> -
-
- - setFormData({ ...formData, email: e.target.value })} - placeholder="jean.dupont@exemple.fr" - /> -

- L'email permet de recevoir les notifications d'inscription et d'annulation. -

-
-
- - - - -
-
+ {/* Dialog de modification */} diff --git a/todo.md b/todo.md index 52cfe82..46add70 100644 --- a/todo.md +++ b/todo.md @@ -481,3 +481,8 @@ - [x] Déplacer "Suivi Questionnaires" vers TRAÇABILITÉ - [x] Déplacer "Établissements" vers TRAÇABILITÉ - [x] Déplacer "Historique" (sous-menu de Rappels) vers TRAÇABILITÉ avec le nom "Rappels" + +## Centralisation de la création des formateurs +- [x] Retirer le bouton de création de formateur de la page Formateurs +- [x] Supprimer le dialogue de création et les mutations associées +- [x] Ajouter un message explicatif indiquant que la création se fait via la page Utilisateurs