Projet

Général

Profil

Development #36783

Remonter toutes les OUs liés aux utilisateurs ayant accès à un service

Ajouté par Benjamin Dauvergne il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
08 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Lorsque l'accès d'un service est limité par des rôles on souhaite remonter toutes les OUs des utilisateurs concernées dans le sélecteur d'OU, dans l'ordre inverse de leur population. Le cas d'usage étant une collectivité avec quelques utilisateurs venant de la collectivité mutualisatrice (une ville Belge et IMIO).


Fichiers

Révisions associées

Révision 94f4ec8c (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

authenticators: add easy accesible OU based on service's ACL (#36783)

It replaces changes from #35213. OU are added after OU remembered
through cookies; they are ordered based on their user subset's count
(how many of their users can access the targeted service).

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

Ça annule et remplace #35213.

#4

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

J'en ai profité pour corriger le placement du choix vide qui se retrouvait coincé entre les OUs préférées et les autres.

Le comportement est désormais : par défaut mettre en avant les dernières OUs sélectionnées, puis les OU adaptées au service, si pas de dernière OU sélectionnée c'est la première OU adaptée qui est pré-sélectionnée.

#5

Mis à jour par Paul Marillonnet il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée

Dans get_service_ous:

        for ou_id, count in qs:
            if not ou_id:
                continue

Question d'affichage je pense qu'on peut aussi continuer pour les OUs pour lesquelles count vaut zéro.

Pour le reste c'est bon pour moi.

#6

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

Paul Marillonnet a écrit :

Question d'affichage je pense qu'on peut aussi continuer pour les OUs pour lesquelles count vaut zéro.

Ce n'est pas possible, si ou_id est non NULL alors count vaut au moins 1, sinon il ne serait pas dans le résultat du GROUP BY, sur un values+annotate(x=aggregate(y)), Django fait implicitement un GROUPBY. (en gros ça fait

SELECT ou_id, COUNT(ou_id) FROM auth_user GROUP BY ou_id
).

Pour le reste c'est bon pour moi.

Ok.

#7

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 94f4ec8c7d0abb44a3869681f95473014dabbb85
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Oct 8 16:46:34 2019 +0200

    authenticators: add easy accesible OU based on service's ACL (#36783)

    It replaces changes from #35213. OU are added after OU remembered
    through cookies; they are ordered based on their user subset's count
    (how many of their users can access the targeted service).
#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF