acces recrutement
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 19 Mar 2012 19:00:35 +0000 (15:00 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 19 Mar 2012 19:00:35 +0000 (15:00 -0400)
project/recrutement/admin.py

index 74e9c7e..eafe7c2 100644 (file)
@@ -583,13 +583,32 @@ class CandidatEvaluationAdmin(admin.ModelAdmin):
         mais interdire l'accès à modifier l'objet si l'évaluateur n'est pas
         le request.user
         """
-        if obj is None:
+        user_groupes = request.user.groups.all()
+
+        if grp_drh_recrutement in user_groupes or \
+            grp_correspondants_rh_recrutement in user_groupes or \
+            grp_directeurs_bureau_recrutement in user_groupes or \
+            grp_administrateurs_recrutement in user_groupes:
+            is_recrutement = True
+        else:
+            is_recrutement = False
+
+        try:
+            Evaluateur.objects.get(user=request.user)
+            is_evaluateur = True
+        except:
+            is_evaluateur = False
+
+        if obj is None and (is_recrutement or is_evaluateur):
             return True
         
         if request.user.is_superuser is True:
             return True
 
-        return request.user == obj.evaluateur.user
+        try:
+            return request.user == obj.evaluateur.user
+        except:
+            return False
 
     ### Queryset
     def queryset(self, request):