CAUCA-9-1-1 / survip

SURVI-Prevention Desktop
2 stars 3 forks source link

Cannot manage Permission anymore - The liste of users available is incorrect #480

Closed jocelyncardinal closed 5 years ago

jocelyncardinal commented 5 years ago

Describe the bug Cannot manage Permission anymore. The liste of users available is incorrect (only one item ???)

Screenshots Here what we get when trying to add a user under a group Capture d’écran 2019-02-28 à 14.51.27.png

For instance we should have "Jonathan Garceau" available Capture d’écran 2019-02-28 à 14.51.53.png

iamkinetic commented 5 years ago

Reproduced in TEST and DEV.

iamkinetic commented 5 years ago

D'après la recherche de @yjacques940 , le problème vient du fait que le call qu'on utilise pour avoir la liste des usagers ne retourne que les usagers qui sont associés aux SSIs auxquels on a accès. Ça peut être logique, mais pas à cet endroit dans le site.

yjacques940 commented 5 years ago

Lorsqu'on load les users, il y a un tri selon les permissionObjects avec le genericId === user.id . Ce tri élimine presque tous les users. Lorsqu'on la retire, on a tous les users dans la liste. Opt 1- Retirer complètement ce traitement Opt 2- Modifier ce traitemetn pour qu'il ne supprime pas les users

permission.component.ts ligne 182

yjacques940 commented 5 years ago

RLe permissionObject et le splice servent à empêcher qu'un user soit ajouté dans plus d'un groupe. Le problème viendrait probablement du fait que le user soit ajouté dans la BD, mais puisqu'on travaille en mémoire, le permissionObjects ne se met pas à jour.

jocelyncardinal commented 5 years ago

D'accord avec @iamkinetic que ce n'est pas le bon endroit dans le site pour limiter les usagers a seulement ceux associé au SSI. La "Gestion des SSI semble plus approprié ...

capture d ecran 2019-03-05 a 10 38 48

Un nouveau feature request a été créé - Issue #486 : Permettre une gestion des utilisateurs/permissions locale au SSI

yjacques940 commented 5 years ago

Problème reglé : Lorsqu'on loadais les users, on enleve ceux qui sont déjà dans un groupe. À cause du splice, le foreach ne faisait que les 2 ou 3 premiers enregistrements et sortait de la loop. On a donc mis un for() qui descend au lieu de monter l'index.