"""
Retourne un employé AUF à partir de son user Django.
"""
- # Refactoring : utiliser project.lib.get_employe_from_user
+ # TODO : Refactoring : utiliser project.lib.get_employe_from_user
try:
employe = ref.Authentification.objects.get(courriel=user.email).id
except:
ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
n'a pas été crée encore).
"""
+ # TODO : Refactoring : utiliser project.lib.safe_create_groupe
try:
grp, created = Group.objects.get_or_create(name=name)
except:
#raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
employe = rh.Employe.objects.none()
return employe
+
+def safe_create_groupe(name):
+ """
+ Création d'un groupe prédéfini. Retourne None, quand la création
+ ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
+ n'a pas été créée encore).
+ """
+ try:
+ grp, created = Group.objects.get_or_create(name=name)
+ except:
+ return None
+ return grp
# -*- encoding: utf-8 -*-
from django.contrib.auth.models import Group
+from project.lib import safe_create_groupe
+
# Logique AUF des permissions
-recrutement_groupes = Group.objects.none()
+grp_drh = safe_create_groupe(name='DRH')
+grp_evaluateurs = safe_create_groupe(name='Évaluateurs')
+
+recrutement_groupes = (
+ grp_drh,
+ grp_evaluateurs,
+)
def user_in_recrutement_groupes(user):
"""
Teste si un user Django fait parti des groupes prédéfinis de DAE.
"""
+ if user.is_superuser:
+ return True
for g in user.groups.all():
if g in recrutement_groupes:
return True