Development #57955
tableau affichant les membres "directs" d'un rôle
0%
Description
Je trouverais pratique là sur un rôle de voir qu'il "contient" :
- les membres du groupe A
- + monsieur machin
Aujourd'hui le tableau liste tous les usagers et je passe trop facilement à côté de monsieur machin qui est perdu au milieu.
Fichiers
Demandes liées
Révisions associées
tables: simplify PermissionLinkColumn (#57955)
manager: include roles along with users in role members table (#57955)
manager: remove children table from role members page (#57955)
Historique
Mis à jour par Valentin Deniaud il y a plus de 2 ans
On pourrait permettre de trier le tableau selon la colonne « direct », est-ce que ça conviendrait ?
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Je pense que oui, mais il faudrait conserver un tri alphabétique dans ce cas, en second critère.
Mis à jour par Frédéric Péters il y a plus de 2 ans
Je ne l'écrivais pas mais ma proposition dans ce ticket ouvrait pour aller plus loin : ça offrait une voie d'évolution compréhensible par rapport aux tableaux "Contient les permissions des rôles" et "Accorde ses propres permissions aux rôles", permettant de supprimer l'un des deux (je n'arrive pas à dire lequel avec juste les libellés), dont l'info serait intégrée dans le tableau principal.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Frédéric Péters a écrit :
permettant de supprimer l'un des deux
Mais il y a déjà eu #56638 il y a deux mois, personne n'était d'accord pour faire ça. Si il y a une nouvelle proposition à ajouter au débat, pourquoi pas rouvrir un ticket explicite/faire un mockup/en parler à l'EO camp. En tout cas je doute que ça ait une chance de se régler ici.
Mis à jour par Frédéric Péters il y a plus de 2 ans
Ce ticket est ma demande de la possibilité d'avoir dans le "tableau principal" de la page d'un rôle la liste des "membres directs", utilisateurs ou rôles.
L'effet de bord "virer un des tableaux en bas", j'imaginais qu'on pouvait s'en rendre compte plus tard. ("tiens cette vue combinée est bien pratique, le tableau dessous devient totalement inutile, on pourrait le retirer").
Puisque tu cites l'autre ticket, ça rejoint en fait ce passage : « Mais le côté informatif apporté par "Contient les membres des rôles" reste important et ne devrait pas disparaître je trouve. Ce serait donc peut-être juste ne plus le rendre éditable. » (#56638#note-8).
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Frédéric Péters a écrit :
la liste des "membres directs", utilisateurs ou rôles.
OK je viens de comprendre que le « * les membres du groupe A » de la description n'était pas un raccourci pour dire la liste des membres du groupe mais bien littéralement une info à afficher dans le tableau, précisément en ne montrant plus ces membres.
Gros changement je trouve, on est sûr que personne n'a utilité de cette liste exhaustive des comptes qui ont un rôle donné ?
Mis à jour par Frédéric Péters il y a plus de 2 ans
on est sûr que personne n'a utilité de cette liste exhaustive des comptes qui ont un rôle donné ?
Note que pour moi ça n'empêchait pas de garder la possibilité d'un affichage extensif, des membres (voires rôles) indirects, (comme on a une case "Afficher les rôles internes" sur l'écran des rôles, peut-être).
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Je comprends mieux aussi ce que tu souhaites :
1. afficher en première intention dans le même tableau les rôles fils et utilisateurs directs
2. avoir une case à cocher "Afficher les membres indirects" qui déplie tout ça, rôles et utilisateurs indirects (et là c'est un poil chiant de trouver le bon ordre entre les rôles indirects et leurs membres, je dirai de ne pas chercher et de rester sur de l'alphabétique)
Ça m'irait bien, le requêtage sera un poil plus chiant à pondre mais ça me semble possible, on ne peut pas utiliser l'ORM simplement vu qu'on mélange deux modèles différents, à tester mais on doit pouvoir utiliser des unions de QuerySet.values()
comme queryset passé à django-table avec les alias pour que les colonnes s'appellent pareil.
Ça me parait assez différent de #56638 qui proposait purement et simplement de faire disparaître une information, là on ne fait que changer sa présentation.
Niveau IHM ça demandera pas mal d'autres changements :- il faudra une façon de différencier les rôles des utilisateurs du premier coup d'oeuil (un picto ou une couleur enfin il faut facilement faire la différence),
- on ne pourra plus présenter username,email,nom,prénom, il faut un seul intitulé pour un utilisateur et un rôle, à la rigueur on peut proposer d'afficher l'un ou l'autre dans la barre de droite (par email, par username, par display_name),
- je suppose qu'il faut penser ça dans une refonte de l'action "Ajouter un membre" qui dans un même élan devrait pouvoir traiter les rôles et les usagers.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Assigné à mis à Valentin Deniaud
Aller ça promet d'être golri
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0003-manager-include-roles-along-with-users-in-role-membe.patch 0003-manager-include-roles-along-with-users-in-role-membe.patch ajouté
- Fichier 0002-tables-simplify-PermissionLinkColumn-57955.patch 0002-tables-simplify-PermissionLinkColumn-57955.patch ajouté
- Fichier 0001-misc-add-get_absolute_url-method-to-Role-and-User-57.patch 0001-misc-add-get_absolute_url-method-to-Role-and-User-57.patch ajouté
- Fichier 0004-manager-remove-children-table-from-role-members-page.patch 0004-manager-remove-children-table-from-role-members-page.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier role_members_direct.png role_members_direct.png ajouté
- Fichier role_members.png role_members.png ajouté
Voilà implémentation aussi simple que possible, je reprends le plan de Benj pour souligner ce qui est là et ce qui diffère.
Benjamin Dauvergne a écrit :
1. afficher en première intention dans le même tableau les rôles fils et utilisateurs directs
Fait. C'est l'affichage par défaut si un rôle a des rôles fils, mais si il n'en a pas on ne fait qu'afficher l'ancien tableau (c'est mieux à l'usage et aussi ça permet de ne pas avoir à toucher à la plupart des tests).
2. avoir une case à cocher "Afficher les membres indirects" qui déplie tout ça, rôles et utilisateurs indirects (et là c'est un poil chiant de trouver le bon ordre entre les rôles indirects et leurs membres, je dirai de ne pas chercher et de rester sur de l'alphabétique)
Ça avait effectivement l'air compliqué, je me contente d'avoir une case « afficher tous les membres » (tous les labels sont à discuter bien sûr) et ça affiche l'ancien tableau.
Ça m'irait bien, le requêtage sera un poil plus chiant à pondre mais ça me semble possible, on ne peut pas utiliser l'ORM simplement vu qu'on mélange deux modèles différents, à tester mais on doit pouvoir utiliser des unions de
QuerySet.values()
comme queryset passé à django-table avec les alias pour que les colonnes s'appellent pareil.
J'ai testé vite fait et j'ai pas l'impression qu'on puisse faire ce que tu dis dans un queryset, vraiment pas grave je sors une liste et puis voilà.
- il faudra une façon de différencier les rôles des utilisateurs du premier coup d'oeuil (un picto ou une couleur enfin il faut facilement faire la différence),
Je préfère un texte explicite pour différencier les rôles, je pense que c'est ce que Fred suggérait et je trouve ça clair.
- on ne pourra plus présenter username,email,nom,prénom, il faut un seul intitulé pour un utilisateur et un rôle, à la rigueur on peut proposer d'afficher l'un ou l'autre dans la barre de droite (par email, par username, par display_name),
Pas trop compris ce point, à voir si il est toujours pertinent une fois ma proposition en tête.
- je suppose qu'il faut penser ça dans une refonte de l'action "Ajouter un membre" qui dans un même élan devrait pouvoir traiter les rôles et les usagers.
Option simple encore une fois, pas touche à cette action et à la place je déplace l'action pour ajouter un rôle comme membre dans le menu kebab, il me semble que c'est assez cohérent avec les discussions de #56638.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
Dans l’idée, nickel, mais je ne sais pas si ça fera l’unanimité du côté des CPF. On va voir :)
Du détail, mais je comprends pas pourquoi 0003 et 0004 ne sont pas un seul commit. C’est une substitution des membres indirects par leur rôle d’appartenance, alors je pense que ça aurait été plus lisible de tout regrouper, mais bon vraiment du pinaillage de ma part :)
Attention juste une petite remarque de forme, depuis #58695 il n’est plus question de get_role_model
, get_user_model
etc dans le code. J’en vois au moins un dans 0003
mais peut-être aussi ailleurs, à vérifier.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Et donc j’oubliais le plus important : ack.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
(un peu tard) Ça me va aussi (vu les screenshots et le com). On verra bien la réaction des gens au changement; je ne pense pas que quelqu'un aura un souci, c'est juste plus clair.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 20dd0adf8af59cb24b48a0917e3a1c2894db2a4f Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Nov 3 12:45:24 2021 +0100 manager: remove children table from role members page (#57955) commit ab22f2fd82a2663f81605120407a6fd7e0bfee69 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Nov 3 11:11:38 2021 +0100 manager: include roles along with users in role members table (#57955) commit 7b6e7461931c5d8182c41144ea2c3f0767c81340 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Nov 3 11:11:02 2021 +0100 tables: simplify PermissionLinkColumn (#57955) commit eabdce19efeba002146b199b5ea1a89bc8f4f857 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Nov 2 16:17:12 2021 +0100 misc: add get_absolute_url method to Role and User (#57955)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Lié à Development #59664: Accorde ses propres permissions aux rôles : migré vers menu burger ajouté
misc: add get_absolute_url method to Role and User (#57955)