Development #25666
manager : paramétrage de la section "mot de passe" de la création d'un compte
0%
Description
Aujourd'hui le formulaire contient :
- générer un mot de passe (pas coché)
- mot de passe et confirmation
- doit changer de mot de passe à la prochaine connexion (pas coché)
- envoyer les informations à l'utilisateur (coché)
- envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe (pas coché)
Il me semble que létat de ces différentes cases à cocher devrait pouvoir être configuré au niveau du site.
(et ma préférence pour le paramétrage par défaut serait : générer un mot de passe, + envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe après #25665)
Plus tard, idéalement, ça pourrait être verrouillé/caché, qu'une politique de site s'applique, sans possibilité pour l'agent d'y déroger.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Mikaël Ates il y a plus de 5 ans
Pouvoir définir une politique pour un site et ne plus avoir ces options qui s'affichent serait bien.
Pour la configuration par défaut, pourquoi souhaiter générer un mot de passe par défaut ? Je serai plutôt pour par défaut lui envoyer un courriel pour qu'il choisisse son mot de passe.
C'est ce que l'on fait pour les agents sur GLC, pas d'affichage d'option et envoi d'un courriel à l'agent pour définir son mot de passe.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Je serai plutôt pour par défaut lui envoyer un courriel pour qu'il choisisse son mot de passe.
Oui tout à fait, c'était ma parenthèse "(+ envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe)", je parlais de la génération plutôt pour rappeler "pas de saisie par l'agent".
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Lié à Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil ajouté
Mis à jour par Paul Marillonnet il y a plus de 5 ans
- Fichier 0001-WIP-25666.patch 0001-WIP-25666.patch ajouté
- Statut changé de Nouveau à En cours
Un premier WIP qui va chercher dans les app_settings
, mais je comprends bien que ce n'est pas suffisant pour ce qu'on veut ici.
Je regarde demain comment gérer ça depuis la config du site.
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier panel1.png panel1.png ajouté
Et si ce n'est pas caché/verrouillé pour l'instant, j'imagine qu'il faut laisser l'agent (ayant le rôle d'administration A2 adéquat) effectuer cette configuration.
Je verrais bien un lien en plus dans le /manage/
, comme dans le png joint (l'intitulé est sans doute mal choisi, je n'ai pas trouvé mieux pour l'instant), qui mènerait à une simple page présentant les options actuellement présentes dans la page d'ajout d'un usager. Est-ce que je me plante ?
Mis à jour par Paul Marillonnet il y a environ 5 ans
(Ça peut paraître prématuré de discuter de ça à ce moment là du ticket, avant même le dév en lui même, mais je crois, peut-être à tort, que l'emplacement de cette page dans le backoffice va conditionner assez complètement l'implémentation.)
Mis à jour par Frédéric Péters il y a environ 5 ans
Aujourd'hui les paramétrages d'authentic se font via les settings (ou pour quelques-uns via des attributs portés par l'OU), je ne mêlerais pas à ce ticket la création d'une nouvelle interface de configuration.
Mis à jour par Paul Marillonnet il y a environ 5 ans
Ok, pardon, mauvaise compréhension de la description du ticket de ma part (je croyais qu'il était question d'offrir une nouvelle interface à l'agent, et qu'un nouveau développement futur permettrait de cacher/verrouiller ou non, au choix).
Je reviens ici avec un patch.
Mis à jour par Mikaël Ates il y a environ 5 ans
Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :
- Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.
- Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Mikaël Ates a écrit :
Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :
- Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.
C'est juste sur les valeurs par défaut des settings qu'il faut se mettre d'accord (cf patch).
- Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".
Je dirais un nouveau ticket, non ?
Mis à jour par Mikaël Ates il y a environ 5 ans
Paul Marillonnet a écrit :
Mikaël Ates a écrit :
Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :
- Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.
C'est juste sur les valeurs par défaut des settings qu'il faut se mettre d'accord (cf patch).
Il me semble qu'on est d'accord sur A2_USER_ADD_GENERATE_PASSWORD par défaut à False et le reste comme tu l'as défini, cf #note-2
- Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".
Je dirais un nouveau ticket, non ?
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
Ok, corrigé ici.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- ajouter des paramètres sur les OUs pour choisir parmi une liste de politique de mots de passe
- mettre par défaut "mot de passe envoyé par courriel" pour toutes les OUs
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
Et donc plutôt quelque chose comme ça ?
Mis à jour par Paul Marillonnet il y a environ 5 ans
Paul Marillonnet a écrit :
Et donc plutôt quelque chose comme ça ?
Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Je vais revenir proposer autre chose ici.
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
Paul Marillonnet a écrit :
Paul Marillonnet a écrit :
Et donc plutôt quelque chose comme ça ?
Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Je vais revenir proposer autre chose ici.
Franchement ça peut commencer par une unique possibilité "envoyer un lien par mail" et attendre que quelqu'un se plaigne de la disparition des autres options.
Mis à jour par Paul Marillonnet il y a environ 5 ans
Je crois que le ticket ici ne concerne que le préremplissage des cases à cocher dans la page d'ajout d'un usager. Pas de disparition donc, pour l'instant en tout cas.
Mis à jour par Paul Marillonnet il y a environ 5 ans
Paul Marillonnet a écrit :
Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Et donc, simplement, on peut faire un nouveau modèle de politique de mot de passe, gérant ces 4 paramètres à l'aide de champs booléens, et ajouter une relation plusieurs-à-un du modèle d'OU vers ce nouveau modèle. L'initialisation des champs de formulaire irait retrouver l'objet (en tapant directement dans 'UserAddView.ou.user_add_password_policy').
Les politiques proposées par défaut seraient présentes en dur dans le code et seraient créées à la réception du signal post_migrate. À voir ensuite si on offre la gestion des politiques dans /manage/, mais ça me paraît être du détail.
Est-ce qu'on part là-dessus ?
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
Paul Marillonnet a écrit :
Paul Marillonnet a écrit :
Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Et donc, simplement, on peut faire un nouveau modèle de politique de mot de passe, gérant ces 4 paramètres à l'aide de champs booléens, et ajouter une relation plusieurs-à-un du modèle d'OU vers ce nouveau modèle. L'initialisation des champs de formulaire irait retrouver l'objet (en tapant directement dans 'UserAddView.ou.user_add_password_policy').
Les politiques proposées par défaut seraient présentes en dur dans le code et seraient créées à la réception du signal post_migrate. À voir ensuite si on offre la gestion des politiques dans /manage/, mais ça me paraît être du détail.
Est-ce qu'on part là-dessus ?
NONNNNNNNNNNN :) Juste une liste à choix sur OrganizationalUnit comme cela arrive pour l'expiration des comptes et viendra pour la complexité des mots de passe aussi, nommé user_add_password_policy
- envoie d'un lien de reset
- définition manuelle du mot de passe
On veut simplifier.
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
- Statut changé de En cours à Solution proposée
Ok!
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Plutôt que des tuples fais des dico {'x': True, 'y': False} etc.. tu peux faires des collections.NamedTuple si ça t'amuse, c'est typé et ça se convertit en dict via
._asdict()
- pas besoin de caster tes chaînes en int, utilise un IntegerField plutôt qu'un CharField
- nomme tes constantes magiques, et utilise un dico plutôt qu'une liste pour les valeurs correspondantes
RESET_LINK_POLICY = 0 MANUAL_PASSWORD_POLICY = 1 POLICY_VALUES = { RESET_LINK_POLICY: PolicyValue(generate_password=False, ...), }
- range tout ça dans la classe du modèle, ça fait plus propre je trouve (c'est purement personnel) et donne un accès direct via les instances
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
Voilà, tout corrigé dans ce nouveau patch.
Mis à jour par Paul Marillonnet il y a environ 5 ans
Benjamin Dauvergne a écrit :
Ack quand les tests passeront.
Tiens, un drôle de bogue1 que je ne reproduis pas en local.
Je regarde l'affaire.
1 https://jenkins2.entrouvert.org/job/authentic-wip/job/wip%252F25666-user-add-policies/6/consoleText
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
Paul Marillonnet a écrit :
Tiens, un drôle de bogue1 que je ne reproduis pas en local.
Bein en fait si, ma faute. Nouveau patch donc.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
La façon de récupérer le ou_id n'est vraiment pas propre, l'OU étant résolu par la vue par ailleurs il faut le récupérer depuis là où c'est fait la première fois (je pense que l'ou doit être passé au formulaire d'une manière ou d'une autre).
Mis à jour par Paul Marillonnet il y a environ 5 ans
Benjamin Dauvergne a écrit :
La façon de récupérer le ou_id n'est vraiment pas propre, l'OU étant résolu par la vue par ailleurs il faut le récupérer depuis là où c'est fait la première fois (je pense que l'ou doit être passé au formulaire d'une manière ou d'une autre).
Ok, c'est vrai. Je vais trouver une façon plus propre de récupérer cet identifiant.
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Fichier 0001-manager-add-settings-for-password-section-options-on.patch 0001-manager-add-settings-for-password-section-options-on.patch ajouté
- Statut changé de En cours à Solution proposée
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Ack.
Mis à jour par Paul Marillonnet il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 97c12bdbc926a2bd8427f01f0bc95f1aee4ebb09 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Tue Feb 26 15:56:06 2019 +0100 manager: add settings for password section options on user add (#25666)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
manager: add settings for password section options on user add (#25666)