Checkpoint: Ajout de "Tous" dans la liste des publics cible pour les séquences. Modifications apportées :

 Base de données : enum publicCible mis à jour avec la valeur "tous"

 Frontend mis à jour dans 4 fichiers :
- AdminSequences.tsx : ajout de "tous" dans les types TypeScript, options de sélection et badges (couleur violet)
- AdminSequenceInscrits.tsx : ajout de "tous" dans les fonctions de labels et badges
- AdminRapportPublicCible.tsx : ajout de "tous" dans les fonctions de labels et badges
- Inscription.tsx : ajout de "tous" dans le mapping, l'affichage et la logique d'alerte (pas d'alerte si public cible = "Tous")

Les séquences peuvent maintenant être créées avec le public cible "Tous", ce qui permet de cibler tous les profils sans distinction.
This commit is contained in:
Manus Sandbox
2025-11-19 09:09:31 -05:00
parent 61d64c365b
commit b72a9c471c
10 changed files with 816 additions and 7 deletions

View File

@@ -68,12 +68,15 @@ export default function Inscription() {
const publicCibleMap: Record<string, string> = {
"directeur": "directeur",
"chef_service": "chef_service",
"tous": "tous",
"autre": "autre"
};
if (publicCibleMap[selectedSequence.publicCible] !== formData.fonction) {
// Si le public cible est "tous", ne pas afficher d'alerte
if (selectedSequence.publicCible !== "tous" && publicCibleMap[selectedSequence.publicCible] !== formData.fonction) {
const publicCibleLabel = selectedSequence.publicCible === "directeur" ? "Directeurs" :
selectedSequence.publicCible === "chef_service" ? "Chefs de service" : "Autre";
selectedSequence.publicCible === "chef_service" ? "Chefs de service" :
selectedSequence.publicCible === "tous" ? "Tous" : "Autre";
const fonctionLabel = formData.fonction === "directeur" ? "Directeur" :
formData.fonction === "chef_service" ? "Chef de service" : "Autre";
@@ -300,7 +303,7 @@ export default function Inscription() {
</div>
<div className="flex items-center gap-2">
<Users className="w-4 h-4" />
<span>Public cible : {sequence.publicCible === "directeur" ? "Directeurs" : sequence.publicCible === "chef_service" ? "Chefs de service" : "Autre"}</span>
<span>Public cible : {sequence.publicCible === "directeur" ? "Directeurs" : sequence.publicCible === "chef_service" ? "Chefs de service" : sequence.publicCible === "tous" ? "Tous" : "Autre"}</span>
</div>
<div className="flex items-center gap-2">
<Users className="w-4 h-4" />