round
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 20 Mar 2012 17:05:42 +0000 (13:05 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 20 Mar 2012 17:05:42 +0000 (13:05 -0400)
project/recrutement/admin.py

index b010e65..9955a58 100644 (file)
@@ -310,7 +310,7 @@ class CandidatAdmin(VersionAdmin):
                     if evaluation.note is not None]
  
         if len(notes) > 0:
-            moyenne_votes = float(sum(notes)) / len(notes)
+            moyenne_votes = round(float(sum(notes)) / len(notes), 2)
         else:
             moyenne_votes = "Non disponible"
 
@@ -330,6 +330,7 @@ class CandidatAdmin(VersionAdmin):
         return """<span style="color: %s;">%s (%s/%s)</span>""" % (color, moyenne_votes, faites, totales)
     calculer_moyenne.allow_tags = True
     calculer_moyenne.short_description = "Notation"
+    calculer_moyenne.admin_order_field = ""
 
     ### Permissions add, delete, change
     def has_add_permission(self, request):
@@ -370,23 +371,22 @@ class CandidatAdmin(VersionAdmin):
         génération d'une requête infinie.
         
         """
-        qs = self.model._default_manager.get_query_set()      
+        qs = self.model._default_manager.get_query_set().select_related('offre_emploi')
         user_groupes = request.user.groups.all()
         if grp_drh_recrutement in user_groupes:
-            return qs.select_related('candidats')   
+            return qs
 
         if grp_directeurs_bureau_recrutement in user_groupes or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             employe = get_emp(request.user)
-            return qs.select_related('candidats').\
-                        filter(offre_emploi__region=employe.implantation.region)
+            return qs.filter(offre_emploi__region=employe.implantation.region)
 
         if  Evaluateur.objects.filter(user=request.user).exists():
             evaluateur = Evaluateur.objects.get(user=request.user)
             candidat_ids = [e.candidat.id for e in
                     CandidatEvaluation.objects.filter(evaluateur=evaluateur)]
-            return qs.select_related('candidats').filter(id__in=candidat_ids)
+            return qs.filter(id__in=candidat_ids)
         return qs.none()