Development #42393
Flag marquant les utilisateurs supprimés
0%
Description
#24430 contient des côtés opérationnels qui sont encore l'objet de dicussions mais, techniquement, on pourrait déjà avoir un attribut sur les utilisateurs, pour marquer quand ils ont été supprimés.
(ça permettra d'avancer sur le côté sur d'autres questions, genre ne pas envoyer d'emails aux agents qui n'existent plus).
A priori, il s'agirait juste de reprendre 0001-users-add-a-deleted-flag-24430.patch (mis à jour par rapport au numéro de migration, et sans "partial anonymization") et 0004-hobo_notify-deprovision-by-setting-the-deleted-flag-.patch.
Demandes liées
Révisions associées
users: ignore users marked as deleted in select queries (#42393)
hobo_notify: mark users as deleted when deprovisionning (#42393)
backoffice: don't include deleted users in listing (#42393)
backoffice: add a notice on deleted user pages (#42393)
Historique
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Nouveau à En cours
(branche wip/42393-deleted-flag poussée avec ceci)
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Pour le mail je note ici que le problème est plus généralement celui des comptes désactivés (je ne suis pas certain qu'on puisse établir une équivalence ici, on aura toujours des gens supprimés et des gens juste désactivés, par erreur, parce que la procédure l'exige, etc..). Très bien si on a les deux flags, si de toute façon on reste sur l'idée que les bases utilisateurs dans les briques ne sont qu'un cache de ce qui est visible dans a2.
Si on peut avoir les deux d'un coup, is_active et deleted c'est bien. Coté a2 deleted sera un timestamp, ce n'est pas forcé de faire la même chose, mais peut-être que ce serait utile.
Mis à jour par Frédéric Péters il y a presque 4 ans
Branche revue avec :
- 0001, (ajout attribut), modifié pour que l'attribut s'appelle deleted_timestamp (et soit un timestamp)
- 0002, nouveau patch, pour ignorer ces utilisateurs marqués des requêtes de recherche d'utilisateur
- 0003, (modif hobo notify), modifié dans ses tests, pour prendre en compe le changement
- 0004, nouveau patch, pour ne pas lister les utilisateurs supprimés dans /backoffice/users/
- 0005, nouveau patch, pour ajouter une info sur /backoffice/users/<id> si l'utilisateur est supprimé
Pour la gestion du is_active envoyé par Authentic, je vais créer un autre ticket.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de En cours à Solution validée
- 0001 : ok, l'index viendra avec le cron de suppression des comptes inactifs,
- 0002 :
- get_users_with_name_identifier():
- utilisé dans l'API pour des agents dont effectivement on ne veut plus qu'ils accèdent, donc ok
- utilisé dans backoffice/management au niveau du filtre
user-id
, là je ne suis pas sûr si c'est utilisé dans le portail agent pour voir les formulaires d'un utilisateur (mais le portail agent dépendant du compte dans a2 aussi je ne sais pas trop), pas sûr donc, - utilisé dans backoffice/submission, idem pour le portail agent et la soumission back-office, à voir,
- utilisé par hobo_notify, il me semble qu'il faudrait que hobo_notify voit tous les usagers,
- utilisé par le SSO SAML2 et FranceConnect, comme on a pas encore exclu que les utilisateurs pourraient revenir avec un même NameID pendant un certain temps, il faudrait ne pas cacher les utilisateurs supprimés ici,
- tout ça pour dire que je verrai bien dans ce cas un flag deleted=True et le mettre à False uniquement pour les accès via l'API,
- get_users_with_email(): utilisé uniquement par l'API, ok
- get_users_with_role() :
- utilisé par Role.get_emails, ok, c'est le cas d'usage des agents, on ne veut plus les notifier (il y a le cas des rôles individuels pour CartaDS et Le Nord, il me semble à première vu que c'est pareil, on ne veut plus les notifier)
- utilisé par SendNotificationWorkflowStatusItem, ok plus de compte en ligne = plus de portail, donc plus de notifications,
- donc c'est ok.
- get_users_with_name_identifier():
- 0003: ok
- 0004: je ne sais pas trop; il me semble que cette vue ce n'est plus que du debug pour nous et qu'on est les seuls à y avoir accès (peut-être me trompe-je), que ce soit le cas ou pas il me semble qu'on veut que l'utilisateur y soient toujours visibles, car ils sont toujours dans le système avec des formulaires, il faudrait simplement afficher
"(online account deleted on %(date)s)"
, - 0005: idem que dernière remarque, je dirai plutôt "online account deleted on %(date)s" que "user marked as deleted".
Je valide modulo mes remarques notamment pour get_users_with_name_identifier(), que ça n'ait pas plus d'impact que nécessaire.
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Solution validée à En cours
Je retire la validation pour éviter que ça ne soit poussé de manière trop zélée.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Lié à Development #24430: Cronjob pour supprimer les utilisateurs sans compte en ligne quand ils n'ont plus de demande en cours ajouté
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Lié à Development #26907: Cycle de vie des comptes ajouté
Mis à jour par Frédéric Péters il y a presque 4 ans
Je passe enfin sur les différents points,
- 0005, désormais "Marked as deleted on %(date)s.".
- 0004, pas touché, je trouve normal que les usagers supprimés n'y apparaissent pas.
- 0002, "comme on a pas encore exclu que les utilisateurs pourraient revenir"
- je viens de regarder à nouveau authentic et il me semble vraiment qu'aujourd'hui un usager supprimé est supprimé sans possibilité d'annulation, je suis donc vraiment pour considérer les usagers supprimés comme n'existant plus, et non supposer qu'ils pourraient revenir.
- 0001, migration actualisée.
et j'ai poussé une branche actualisée.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de En cours à Solution validée
Je valide même si ce n'est pas en solution proposée.
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 1473d8edb019616c85e2e25c843e9244d6ee7d49 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon May 4 09:35:01 2020 +0200 backoffice: add a notice on deleted user pages (#42393) commit 0791d9af7ad4f0a11a98e44923a9ba61a3c5386d Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun May 3 13:47:39 2020 +0200 backoffice: don't include deleted users in listing (#42393) commit 2435cbc0322ea13c8eb2d9f7705e3149528d024d Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Oct 4 23:34:05 2018 +0200 hobo_notify: mark users as deleted when deprovisionning (#42393) commit 34b78bf6bd7087cda674cf52299111e0d0765736 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun May 3 13:40:39 2020 +0200 users: ignore users marked as deleted in select queries (#42393) commit 88812ebaf1fa3148858b3aba7211927b74c61bf8 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Oct 4 22:53:35 2018 +0200 users: add a deleted timestamp (#42393)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
users: add a deleted timestamp (#42393)