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. 
     """
     """
     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:
     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).
     """
     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:
     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
         #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
 
 # -*- encoding: utf-8 -*-
 from django.contrib.auth.models import Group
 
+from project.lib import safe_create_groupe
+
 # Logique AUF des permissions
 
 # 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.
     """
 
 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
     for g in user.groups.all():
         if g in recrutement_groupes:
             return True