web-dev-qa-db-fra.com

Comment gérer la suppression d'un rôle lorsqu'il y a encore des utilisateurs auxquels il est affecté

Je suppose que c'est un problème assez courant, mais je ne peux jamais décider de la meilleure façon de le faire.

Système simple. Il a des utilisateurs, les utilisateurs peuvent se voir attribuer un rôle. Les rôles sont définis par les utilisateurs administrateurs.

La situation se présente lorsqu'un administrateur souhaite supprimer un rôle du système qui est toujours en cours d'utilisation. Je ne veux pas supprimer le rôle et laisser les utilisateurs sans rôle, je renvoie donc un message disant

"le rôle (x) ne peut pas être supprimé car il est toujours utilisé"

Cependant, cela n'est pas très utile car l'administrateur doit ensuite déterminer quels utilisateurs ont ce rôle et leur attribuer un nouveau rôle, puis revenir en arrière et le supprimer.

Quelqu'un a-t-il de meilleurs mécanismes pour ce type de fonctionnalité?

3
invalid_arg

Certains logiciels et sites Web résolvent ce problème en proposant de réaffecter l'ensemble des utilisateurs à un "utilisateur non attribué" existant ou à un autre rôle que l'utilisateur peut choisir. C'est une bonne chose à faire car vous n'empêchez pas l'utilisateur d'accomplir sa tâche principale, c'est-à-dire "supprimer un rôle". Vous restez à l'écart des gens.

Donc, pour l'aider à aller plus loin, je lui proposerais de * réaffecter les utilisateurs à un rôle "Utilisateurs non affectés"; * ou pour lui présenter la liste des utilisateurs avec des cases à cocher pour commencer à réaffecter des utilisateurs à d'autres rôles existants ou en créer de nouveaux.

La deuxième partie peut être délicate si le rôle que vous souhaitez supprimer contient beaucoup d'utilisateurs.

3
Alconis

Ne laissez pas l'administrateur supprimer un rôle sans affecter ces utilisateurs à un autre rôle… ou en créer un nouveau. Et c'est facile!

enter image description here

3
Taj Moore

Avec la description du problème, donnez une liste des utilisateurs qui ont le rôle, dans le même format et avec les mêmes fonctions disponibles que les listes d'utilisateurs sont habituellement présentées.

L'administrateur peut ensuite sélectionner tout ou partie des utilisateurs et modifier leurs rôles, ou les examiner pour voir pourquoi ils ont ce rôle, ou toute autre action à laquelle vous et moi n'avons pas pensé - l'interface leur permet de faire tout ce qu'ils feraient avec toute autre liste d'utilisateurs, et les conditions de suppression ne sont pas un cas particulier.

2
Kevin Reid

C'est un problème similaire à la tentative de suppression d'un document partagé dans Google docs.

La meilleure solution est probablement d'informer l'utilisateur qu'il existe des comptes utilisant ce rôle. Je voudrais essayer de donner des informations contextuelles utiles, par exemple le nombre de comptes qui seront affectés et peut-être même les noms des utilisateurs utilisant actuellement le rôle. De cette façon, ils peuvent décider de poursuivre ou non.

L'administrateur doit savoir quel rôle ces utilisateurs seront ensuite affectés. Encore mieux serait de leur permettre de choisir via une liste déroulante.

1
Tom R

Décidez d'abord ce qui mène. Supprime le rôle de leader ou est le rôle dans l'utilisation de leader.

Selon la situation, vous pouvez afficher une liste des utilisateurs de ce rôle et donner la possibilité de supprimer simplement le rôle de toute façon. Selon les rôles, vous devrez dire aux utilisateurs actuels que le rôle est supprimé ou non.

Dites donc un peu plus sur ce que sont les utilisateurs, ce que vous entendez par rôles, comment ils sont mis en œuvre et qui est cet administrateur.

0
Barfieldmv