Candidature: ajout du tri sur les listes de candidatures [GEN-2248]#5649
Conversation
|
🥁 La recette jetable est prête ! 👉 Je veux tester cette PR ! |
3bd7f3b to
39ee187
Compare
|
🥁 La recette jetable est prête ! 👉 Je veux tester cette PR ! |
68810c6 to
857e5e2
Compare
EwenKorr
left a comment
There was a problem hiding this comment.
Ça me paraît bien rôdé comme affaire ! 👍
| job_applications = job_applications.annotate( | ||
| job_seeker_full_name=Concat(Lower("job_seeker__first_name"), Value(" "), Lower("job_seeker__last_name")) | ||
| ).order_by(*order.order_by) | ||
|
|
There was a problem hiding this comment.
A priori le annotate() est inutile pour list_for_job_seeker, non ?
There was a problem hiding this comment.
Il est utilisé par l’enum du tri. 857e5e2#diff-a3e650e289e7f2bb2d5f30b585abb74805492b51c6ee98fb828d8553af92f6cfR65
There was a problem hiding this comment.
On pourrait faire une autre enum de tri sans le nom et prénom du candidat, ou désactiver ce critère de tri pour les candidats. Mais ça n’en vaut probablement pas la complexité.
There was a problem hiding this comment.
En relisant les tests, comme on ajoute PK pour stabiliser l’ordre, le candidat peut trier par date d’émission en utilisant la colonne nom 😛
| if (Array.from(form.elements).some((input) => input.name == checkBoxInputName && input.checked)) { | ||
| document.querySelectorAll(`[${attribute}="hidden"]`).forEach((element) => element.classList.add("d-none")) | ||
| document.querySelectorAll(`[${attribute}="shown"]`).forEach((element) => element.classList.remove("d-none")) | ||
| document.querySelectorAll(`[${attribute}="disabled"]`).forEach((element) => element.setAttribute("disabled", "")) |
There was a problem hiding this comment.
Au lieu de passer par des attributs, pourquoi ne pas:
diff --git a/itou/static/js/utils.js b/itou/static/js/utils.js
index 436035a8a..6cb575a3e 100644
--- a/itou/static/js/utils.js
+++ b/itou/static/js/utils.js
@@ -214,11 +214,11 @@ htmx.onLoad((target) => {
if (Array.from(form.elements).some((input) => input.name == checkBoxInputName && input.checked)) {
document.querySelectorAll(`[${attribute}="hidden"]`).forEach((element) => element.classList.add("d-none"))
document.querySelectorAll(`[${attribute}="shown"]`).forEach((element) => element.classList.remove("d-none"))
- document.querySelectorAll(`[${attribute}="disabled"]`).forEach((element) => element.setAttribute("disabled", ""))
+ document.querySelectorAll(`[${attribute}="disabled"]`).forEach((element) => { element.disabled = true; })
} else {
document.querySelectorAll(`[${attribute}="shown"]`).forEach((element) => element.classList.add("d-none"))
document.querySelectorAll(`[${attribute}="hidden"]`).forEach((element) => element.classList.remove("d-none"))
- document.querySelectorAll(`[${attribute}="disabled"]`).forEach((element) => element.removeAttribute("disabled"))
+ document.querySelectorAll(`[${attribute}="disabled"]`).forEach((element) => { element.disabled = false; })
}
})
})| job_applications = job_applications.annotate( | ||
| job_seeker_full_name=Concat(Lower("job_seeker__first_name"), Value(" "), Lower("job_seeker__last_name")) | ||
| ).order_by(*order.order_by) | ||
|
|
There was a problem hiding this comment.
Il est utilisé par l’enum du tri. 857e5e2#diff-a3e650e289e7f2bb2d5f30b585abb74805492b51c6ee98fb828d8553af92f6cfR65
francoisfreitag
left a comment
There was a problem hiding this comment.
Le code de js: improve data-emplois-elements-visibility-on-selection mechanism est mort, jusqu’à l’introduction du 3ème commit. Je l’aurais fusionné avec le 3ème commit.
857e5e2 to
b886772
Compare
And improve data-emplois-elements-visibility-on-selection mechanism to allow disabling elements
f9d28ef to
6ead9fc
Compare
🤔 Pourquoi ?
Car c'est pratique.
🍰 Comment ?
🚨 À vérifier
🏝️ Comment tester ?
💻 Captures d'écran