permissions pour recrutement implémenté sur vrais groupes
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Tue, 2 Aug 2011 19:25:26 +0000 (15:25 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Tue, 2 Aug 2011 19:25:26 +0000 (15:25 -0400)
project/dae/utils.py
project/dae/workflow.py
project/lib.py
project/recrutement/permissions.py

index f57f4e8..c0f2c05 100644 (file)
@@ -6,7 +6,7 @@ def get_employe_from_user(user):
     """
     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:
index bb1c55f..fc2b5f4 100644 (file)
@@ -10,6 +10,7 @@ def safe_create_groupe(name):
     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:
index 3670aca..2c90073 100644 (file)
@@ -14,3 +14,15 @@ def get_employe_from_user(user):
         #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
index dc7b9c1..c8d12fd 100644 (file)
@@ -1,14 +1,24 @@
 # -*- 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