Skip to content

Prescripteur: ajout de tri dans la liste des candidats [GEN-1844]#5602

Merged
xavfernandez merged 2 commits into
masterfrom
xfernandez/sort_job_seekers
Feb 21, 2025
Merged

Prescripteur: ajout de tri dans la liste des candidats [GEN-1844]#5602
xavfernandez merged 2 commits into
masterfrom
xfernandez/sort_job_seekers

Conversation

@xavfernandez

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

Indiquez le problème que nous sommes en train de résoudre et les objectifs métiers ou techniques qui sont visés par ces changements.

🍰 Comment ?

Décrivez en quelques mots la solution retenue et mise en oeuvre, les difficultés ou problèmes rencontrés. Attirez l'attention sur les décisions d'architecture ou de conception importantes.

🚨 À vérifier

  • Mettre à jour le CHANGELOG_breaking_changes.md ?
  • Ajouter l'étiquette « Bug » ?

🏝️ Comment tester ?

Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc. Si vous disposez d'une recette jetable, mettre l'URL pour tester dans cette partie.

💻 Captures d'écran

@xavfernandez xavfernandez added 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog. labels Feb 12, 2025
@xavfernandez xavfernandez self-assigned this Feb 12, 2025
@github-actions

Copy link
Copy Markdown

🥁 La recette jetable est prête ! 👉 Je veux tester cette PR !

@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch 5 times, most recently from e762394 to ce7bd08 Compare February 14, 2025 14:42
@xavfernandez xavfernandez marked this pull request as ready for review February 14, 2025 14:43
@xavfernandez xavfernandez changed the title Prescripteur: ajout de tri dans la liste des candidats Prescripteur: ajout de tri dans la liste des candidats [GEN-1844] Feb 14, 2025
@notion-workspace

Copy link
Copy Markdown

@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch from ce7bd08 to 81f7c29 Compare February 14, 2025 15:29
Comment thread itou/templates/common/tables/th_with_sort.html Outdated
@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch from 81f7c29 to e36ec24 Compare February 17, 2025 12:38

@francoisfreitag francoisfreitag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

J’imagine qu’il n’a pas été question de multisort ?

Comment thread itou/templates/job_seekers_views/includes/list_results.html Outdated
Comment thread itou/templates/job_seekers_views/list.html
Comment thread itou/www/job_seekers_views/views.py Outdated
Comment thread itou/www/job_seekers_views/views.py Outdated
Comment thread itou/www/job_seekers_views/views.py Outdated
self.request.GET or {},
request_user=request.user,
)
self.form.full_clean() # We do not use is_valid to validate each field independently

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Je ne suis vraiment pas convaincu de la nécessité de se casser la tête à éviter le standard form.is_valid() (qui est d’ailleurs recommandé au lieu d’appeler .errors ou full_clean).

On risque de se retrouver à valider le formulaire deux fois, alors que l’appel à is_valid() permet de valider et cacher le résultat, et de centraliser les traitements.

La version actuelle « triche » en appelant full_clean() sans vérifier s’il y a des erreurs, et en traitant uniquement les arguments valides.

D’ailleurs, en faisant ainsi, elle introduit un bug car si le job_seeker est invalide, on va tout de même faire self.form.cleaned_data["job_seeker"].

http://localhost:8000/job-seekers/list?job_seeker=0&order=

(un petit test serait utile 😉)

J’entends bien que pour un formulaire de filtres, ignorer les erreurs est envisageable, mais il me semblerait plus clair pour les devs et les utilisateurs de procéder de la manière suivante :

  1. valider les entrées
  2. afficher les erreurs éventuelles (et une liste de résultats non triée / filtrée)
  3. autrement, appliquer les filtres donnés

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.

Yup, je pense repasser sur is_valid mais aucune idée pour le moment où je vais remonter l'erreur éventuelle de tri 😬 (à part un gros messages.warning) mais bon, ça ne devrait pas se produire

Comment thread itou/www/job_seekers_views/views.py Outdated
Comment thread itou/www/job_seekers_views/views.py Outdated
Comment thread itou/www/job_seekers_views/views.py Outdated
@xavfernandez

Copy link
Copy Markdown
Contributor Author

J’imagine qu’il n’a pas été question de multisort ?

Non, pas pour le moment 🤞

@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch 3 times, most recently from 1aff559 to e594dfc Compare February 18, 2025 08:37
@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch 2 times, most recently from e16c5b5 to 4c0e851 Compare February 19, 2025 13:46
@xavfernandez xavfernandez added 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC and removed 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC labels Feb 19, 2025
@github-actions

Copy link
Copy Markdown

🥁 La recette jetable est prête ! 👉 Je veux tester cette PR !

@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch from 4c0e851 to 57e2293 Compare February 19, 2025 16:10
Comment thread itou/www/job_seekers_views/enums.py Outdated
<th scope="col">Statut du PASS IAE</th>
<th scope="col">Nombre de candidatures</th>
<th scope="col">Dernière mise à jour de candidature</th>
{% include 'common/tables/th_with_sort.html' with order=order ascending_value=order.JOB_APPLICATIONS_NB_ASC name="Nombre de candidatures" only %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

C'est un choix motivé, le tri croissant de nombre de candidatures ?
Instinctivement je pensais que ça allait trier par ordre décroissant.

Mais c'est vrai que ça permet de voir les candidats qui n'ont aucune candidature en premier, et ça peut être utile pour retrouver un candidat qu'on vient de créér par exemple.

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.

Comme discuté, pas vraiment motivé: cela permet de simplifier l'include en considérant le tri par défaut comme étant toujours le tri croissant.

User.objects.filter(kind=UserKind.JOB_SEEKER, pk__in=job_seekers_ids)
.prefetch_related("approvals")
.annotate(
full_name=Concat(Lower("first_name"), Value(" "), Lower("last_name")),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Peut-être un tri sur le nom de famille plutôt, selon ce que dit le métier ?

@EwenKorr

Copy link
Copy Markdown
Contributor

J'ai vu plein de trucs élégants 🤩

@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch 2 times, most recently from f11ada4 to accfdfc Compare February 21, 2025 08:24
@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch from dcb83a8 to 1f2df20 Compare February 21, 2025 08:43

@francoisfreitag francoisfreitag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tout propre 🌟

Comment thread itou/templates/job_seekers_views/includes/list_results.html Outdated
Comment thread itou/www/job_seekers_views/views.py Outdated

@EwenKorr EwenKorr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Rien à ajouter !

since they will be changed in next commit
@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch 2 times, most recently from a3ef626 to f141a25 Compare February 21, 2025 10:03
@xavfernandez xavfernandez force-pushed the xfernandez/sort_job_seekers branch from f141a25 to 51e7540 Compare February 21, 2025 10:06
@xavfernandez xavfernandez added this pull request to the merge queue Feb 21, 2025
Merged via the queue into master with commit 4ecffe7 Feb 21, 2025
@xavfernandez xavfernandez deleted the xfernandez/sort_job_seekers branch February 21, 2025 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants