Skip to content

feat: filtre de motif de sortie d'équipe dans les stats#1314

Open
rap2hpoutre wants to merge 2 commits into
mainfrom
motif-sortie-dequipe
Open

feat: filtre de motif de sortie d'équipe dans les stats#1314
rap2hpoutre wants to merge 2 commits into
mainfrom
motif-sortie-dequipe

Conversation

@rap2hpoutre
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ajoute un filtre de statistiques permettant de sélectionner les personnes selon le(s) motif(s) de sortie d’équipe sur une période donnée.

Changes:

  • Ajout d’un champ de filtre “Motif de sortie d’équipe” (multi-choix) dans la page Statistiques.
  • Implémentation du filtrage côté calcul des stats via l’historique outOfTeamsInformations (reasons) sur la période sélectionnée.
  • Exclusion de ce nouveau filtre du traitement générique filterItem(activeFilters) pour le gérer spécifiquement.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +222 to +227
// Filter by team exit reasons during period
if (outOfTeamsDuringPeriodReasonsSet) {
let hasMatchingReason = false;
for (const historyEntry of person.history || []) {
const historyDate = historyEntry.date;
if (!noPeriodSelected) {
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quand les deux filtres « Sortie d’équipe » et « Motif de sortie d’équipe » sont actifs, la logique valide l’un puis l’autre indépendamment. Cela peut inclure des personnes sorties d’une équipe sélectionnée, mais dont le motif sélectionné provient d’une autre sortie d’équipe (autre team / autre entrée d’historique). Si l’intention est de filtrer par motif de sortie pour les équipes sélectionnées, il faut croiser team+reason au niveau d’une même entrée outOfTeamsInformations (et idéalement dans une seule passe sur person.history).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mh ça c'est complexe. Normalement les filtres sont indépendants les uns des autres, donc je pense qu'il faut laisser comme ça

Comment thread dashboard/src/scenes/stats/index.jsx Outdated
Comment on lines +234 to +240
for (const info of outOfTeamsInformations) {
for (const reason of info.reasons || []) {
if (outOfTeamsDuringPeriodReasonsSet.has(reason)) {
hasMatchingReason = true;
break;
}
}
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le composant de filtres ajoute automatiquement l’option « Non renseigné » pour les champs multi-choix (cf. Filters.tsx), mais ce filtre ne la gère pas : si l’utilisateur sélectionne « Non renseigné », aucune personne ne pourra matcher car on ne considère pas le cas où info.reasons est vide/absent. Il faut traiter explicitement « Non renseigné » comme un match quand une entrée outOfTeamsInformations a reasons vide (ou manquant).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 30, 2026

@rap2hpoutre I've opened a new pull request, #1315, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Collaborator

@arnaudambro arnaudambro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • mon utilisateur est suivi par équipe A et équipe B
  • je le sors du suivi par équipe B, motif "motif 1"
  • je check les stats pour l'équipe A, avec pour seul filtre "Motif de sortie d'équipe: motif 1" et la personne est comptée. On eu pu attendra que ce motif de sortie d'équipe ne compte que si la sortie est de l'équipe A.

Je ne dis pas que ça ne va pas, mais j'imagine que quelqu'un va faire la remarque...

@rap2hpoutre
Copy link
Copy Markdown
Contributor Author

Oui en fait je ne sais pas non plus. C'est bien ça qui m'embête. Normalement chaque filtre est indépendant. Il faudra qu'on en reparle

@rap2hpoutre
Copy link
Copy Markdown
Contributor Author

Note de Simon :

Oui, à mon sens il faut que ce soit  lié.
ici on veut voir les motifs de sortie pour pour l'équipe "centre d'accueil".
Mais ça ramène au fait que dans Mano, la sortie de file active de toute l'orga est différente de la sortie d'équipe.
Le mieux en attendant de plancher dessus serait peut-être une modification du filtre motif de sortie de file active en incorporant un sélecteur d'équipe au milieu?
Ce qui ferait :
Filtrer par / Motif de sortie de file active / sélecteur équipe (choix multiple) / sélecteur de motif (modifié) 
[17 h 25]Du coup ça changerait juste le filtre originel sans en créer un deuxième...
Mais bon chais pas si c'est faisable, ni meme si je suis clair

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants