Ajout de try except lors d'un get pour un Evaluateur/Administrateur régional
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Thu, 7 Jul 2011 17:49:13 +0000 (13:49 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Thu, 7 Jul 2011 17:49:13 +0000 (13:49 -0400)
project/recrutement/admin.py

index 08e754a..44be329 100644 (file)
@@ -39,9 +39,15 @@ class OffreEmploiAdmin(VersionAdmin):
             Vérifier groupes
             """
             if grp_evaluateurs_recrutement in user_groupes:
-                user = Evaluateur.objects.get(user=request.user)               
+                try:
+                    user = Evaluateur.objects.get(user=request.user)               
+                except Evaluateur.DoesNotExist:       
+                    return qs.none()     
             elif grp_administrateurs_recrutement in user_groupes: 
-                user = AdministrateurRegional.objects.get(user=request.user)
+                try:
+                    user = AdministrateurRegional.objects.get(user=request.user)
+                except AdministrateurRegional.DoesNotExist:       
+                    return qs.none()     
             else:
                 return qs.none()   
                       
@@ -254,12 +260,18 @@ class CandidatAdmin(VersionAdmin):
 
             # Vérifier groupes
             if grp_evaluateurs_recrutement in user_groupes:
-                user = Evaluateur.objects.get(user=obj.user)               
-            #elif grp_administrateurs_recrutement in user_groupes: 
-            #   user = AdministrateurRegional.objects.get(user=obj.user)
+                try:
+                    user = Evaluateur.objects.get(user=obj.user)
+                except Evaluateur.DoesNotExist:       
+                    return qs.none()       
+            """elif grp_administrateurs_recrutement in user_groupes: 
+                try:
+                    user = AdministrateurRegional.objects.get(user=obj.user)
+                except AdministrateurRegional.DoesNotExist:       
+                    return qs.none()    
+            """
             else:
                 return qs.none()   
-
             ids = [c.id for c in user.candidats.all()]
             return qs.select_related('candidats').filter(id__in=ids)               
         return qs.select_related('candidats')         
@@ -393,15 +405,17 @@ class CandidatEvaluationAdmin(VersionAdmin):
         if grp_drh_recrutement in user_groupes:
             return qs.select_related('offre_emploi')
 
-        if grp_evaluateurs_recrutement in user_groupes:
+        try:
             evaluateur = Evaluateur.objects.get(user=request.user) 
-            candidats_evaluations = CandidatEvaluation.objects.\
-                                    filter(evaluateur=evaluateur)
-            candidats_evaluations_ids = [ce.id for ce in \
-                                            candidats_evaluations.all()]
-            return qs.select_related('offre_emploi').\
-                    filter(id__in=candidats_evaluations_ids)
-        return qs.none()
+        except Evaluateur.DoesNotExist:       
+            return qs.none()     
+        
+        candidats_evaluations = CandidatEvaluation.objects.\
+                                filter(evaluateur=evaluateur)
+        candidats_evaluations_ids = [ce.id for ce in \
+                                        candidats_evaluations.all()]
+        return qs.select_related('offre_emploi').\
+                filter(id__in=candidats_evaluations_ids)
 
 class CourrielTemplateAdmin(VersionAdmin):
     pass