Commit 66a58d53 authored by Daniel STAN's avatar Daniel STAN

[login] par défaut, pas de crans_* (sauf crans_ma)

parent bfe58091
......@@ -48,6 +48,7 @@ DROITS_SPECIAUX = { # Dictionnaire de groupe devant contenir les droits correspo
"crans_imprimeur": [CRANS_MULTIMACHINES],
"crans_apprenti": [CRANS_MULTIMACHINES],
"crans_bureau": [CRANS_MULTIMACHINES],
"crans_ma": [CRANS_MULTIMACHINES],
}
......@@ -65,22 +66,29 @@ def get_or_create_cransgroup(name):
group.save()
return group
def refresh_droits(user, cl_user):
def refresh_droits(user, cl_user, allow_staff=False):
"""Rafraîchit les droits de l'utilisateur django `user' depuis
l'utilisateur LDAP `cl_user'"""
l'utilisateur LDAP `cl_user'.
N'ajoute pas les droits crans si allow_staff=False (default)
"""
cl_droits = [x.value for x in cl_user.get('droits', [])]
if u"Nounou" in cl_droits:
user.is_staff = True
user.is_superuser = True
cl_droits_reels = set(x.value for x in cl_user.get('droits', []))
if allow_staff:
cl_droits = cl_droits_reels
else:
user.is_staff = False
user.is_superuser = False
if u"Apprenti" in cl_droits:
user.is_staff = True
if u"Imprimeur" in cl_droits:
user.is_staff = True
cl_droits = set()
# Droit membre actif générique
if cl_droits_reels:
cl_droits.add(u"MA")
if cl_droits_reels and allow_staff:
cl_droits.add(u"enabled")
# Fais le calcul des droits d'accès
user.is_staff = not cl_droits.isdisjoint([u"Nounou", u"Apprenti", u"Imprimeur"])
user.is_superuser = not cl_droits.isdisjoint([u"Nounou"])
# et celui des groupes
groups = []
for cl_droit in cl_droits:
groups.append(get_or_create_cransgroup(name=u"crans_%s" % cl_droit.lower()))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment