Development #46650
Ambiguité à la déclaration de la politique de réinitialisation de mot de passe lors de la création d'une OU
0%
Description
Lorsqu'on crée une OU on doit déterminer si les usagers de cette OU peuvent réinitialiser eux-mêmes leur mot de passe, en choisissant parmi “Oui”, “Non” mais aussi “Inconnu”…
C'est parce que le champ derrière qui gère ça est un NullBooleanField (mais ça ne semble pas justifié après une relecture de cette partie du code).
Files
History
Updated by Paul Marillonnet 4 months ago
Et on me dit qu'il y a de l'existant avec ‘Inconnu’ positionné comme valeur pour certaines OUs. Il faut aussi la migration qui passe cette valeur ‘Inconnu’ vers la bonne valeur booléenne par défaut.
Updated by Paul Marillonnet 3 months ago
- File 0001-a2_rbac-enforce-boolean-choice-on-OUs-user-password-.patch 0001-a2_rbac-enforce-boolean-choice-on-OUs-user-password-.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
(Et en fait le moteur de migration de Django opère tout seul la conversion de null à la valeur par défaut (en l’occurrence True) lors de l'application de la migration.)
Updated by Benjamin Dauvergne 3 months ago
Le but du nul c'était d'utiliser la valeur par défaut du système, je pense, mais je n'ai pas regardé si le code fait bien ça.
Updated by Paul Marillonnet 3 months ago
Benjamin Dauvergne a écrit :
Le but du nul c'était d'utiliser la valeur par défaut du système, je pense, mais je n'ai pas regardé si le code fait bien ça.
git-grep ne renvoie rien, je ne vois ça nulle part.
Updated by Paul Marillonnet 3 months ago
- Status changed from Solution proposée to Information nécessaire
Benjamin Dauvergne a écrit :
Le but du nul c'était d'utiliser la valeur par défaut du système, je pense, mais je n'ai pas regardé si le code fait bien ça.
Et donc je n’ai pas deviné ça à la lecture du code, qui n’en présente pas trace. Est-ce qu’on laisse comme ça ou bien on définit un setting global que la configuration par OU pourrait venir surcharger ?
Updated by Benjamin Dauvergne 3 months ago
C'est dans authentic2.utils.get_user_flag, la valeur None est ignorée. Par contre le code est con la valeur des settings surcharge tout :/ Faudrait inverser ce code mais je ne vois pas de raison d'enlever le support du NULL, à la rigueur changer "Inconnu" par valeur par défaut, et afficher la valeur prise en page de détail.
Updated by Paul Marillonnet 3 months ago
- Status changed from Information nécessaire to En cours
- Assignee set to Paul Marillonnet
Oui ok ce sera mieux ainsi.