Project

General

Profile

Development #36783

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

Added by Benjamin Dauvergne 2 months ago. Updated 5 days ago.

Status:
Solution déployée
Priority:
Normal
Category:
-
Target version:
-
Start date:
08 Oct 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

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).

0001-authenticators-add-easy-accesible-OU-based-on-servic.patch View (5.57 KB) Benjamin Dauvergne, 10 Oct 2019 07:27 PM

Associated revisions

Revision 94f4ec8c (diff)
Added by Benjamin Dauvergne 6 days ago

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).

History

#2 Updated by Benjamin Dauvergne 2 months ago

  • Assignee set to Benjamin Dauvergne

#3 Updated by Benjamin Dauvergne 2 months ago

Ça annule et remplace #35213.

#4 Updated by Benjamin Dauvergne 2 months ago

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 Updated by Paul Marillonnet 7 days ago

  • Status changed from Solution proposée to 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 Updated by Benjamin Dauvergne 6 days ago

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 Updated by Benjamin Dauvergne 6 days ago

  • Status changed from Solution validée to 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 Updated by Frédéric Péters 5 days ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF