Clean-up code; 1696: Assigner des évaluateurs par offre d'emploi.
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Fri, 8 Jul 2011 20:27:43 +0000 (16:27 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Fri, 8 Jul 2011 20:27:43 +0000 (16:27 -0400)
project/recrutement/admin.py
project/recrutement/forms.py
project/urls.py

index f16b31a..cf46711 100644 (file)
@@ -16,6 +16,15 @@ class OffreEmploiAdmin(VersionAdmin):
     date_hierarchy = 'date_creation'
     list_display = ('nom', 'resume', 'date_limite', 'region', '_candidatsList')
 
+    actions = ['affecter_evaluateurs_offre_emploi', ]
+    # Affecter un évaluateurs à des offres d'emploi
+    def affecter_evaluateurs_offre_emploi(modeladmin, obj, candidats):   
+        selected = obj.POST.getlist(admin.ACTION_CHECKBOX_NAME)
+
+        return HttpResponseRedirect(reverse('affecter_evaluateurs_offre_emploi')+
+                "?ids=%s" % (",".join(selected)))
+    affecter_evaluateurs_offre_emploi.short_description = u'Affecter évaluateur(s)'
+
     # Afficher la liste des candidats pour l'offre d'emploi
     def _candidatsList(self, obj):     
         return "<a href='%s?offre_emploi__id__exact=%s'>Voir les candidats \
@@ -23,6 +32,7 @@ class OffreEmploiAdmin(VersionAdmin):
     _candidatsList.allow_tags = True 
     _candidatsList.short_description = "Afficher la liste des candidats"
 
+
     def queryset(self, request):
         qs = self.model._default_manager.get_query_set()
         # Si user est superuser afficher toutes les offres d'emploi  
@@ -166,7 +176,7 @@ class CandidatAdmin(VersionAdmin):
 
         return HttpResponseRedirect(reverse('affecter_evaluateurs_candidats')+
                 "?ids=%s" % (",".join(selected)))
-    affecter_candidats_evaluateur.short_description = u'Affecter évaluateur'
+    affecter_candidats_evaluateur.short_description = u'Affecter évaluateur(s)'
 
     # Envoyer un courriel à des candidats
     def envoyer_courriel_candidats(modeladmin, obj, candidats):   
index ae4507a..162d2a2 100644 (file)
@@ -43,8 +43,12 @@ class EvaluateurForm(forms.Form):
 
     def save(self):
         for d in self.candidats:
-            d.evaluateurs = self.cleaned_data.get('evaluateurs', [])
-            d.save()
+            for e in self.cleaned_data.get('evaluateurs', []):                
+                candidat_evaluation = recr.CandidatEvaluation()
+                candidat_evaluation.candidat = d
+                candidat_evaluation.evaluateur = e
+                import pdb;pdb.set_trace()
+                candidat_evaluation.save()
 
 ################################################################################
 # OFFRE EMPLOI
index 50bf880..30afb13 100644 (file)
@@ -22,13 +22,14 @@ urlpatterns = patterns(
     url(r'^recrutement/affecter_evaluateurs_candidats/$', 
         'recrutement.views.affecter_evaluateurs_candidats', 
         name='affecter_evaluateurs_candidats'),
+    url(r'^recrutement/affecter_evaluateurs_offre_emploi/$', 
+        'recrutement.views.affecter_evaluateurs_offre_emploi', 
+        name='affecter_evaluateurs_offre_emploi'),
     url(r'^recrutement/envoyer_courriel_candidats/$', 
         'recrutement.views.envoyer_courriel_candidats', 
         name='envoyer_courriel_candidats'),
-    url(r'^recrutement/afficher_candidat/$', 
-        'recrutement.views.afficher_candidat', 
-        name='afficher_candidat'),    
-    url(r'^recrutement/pieces/$', 'recrutement.views.postuler_appel_offre', name='pieces'),
+    url(r'^recrutement/pieces/$', 'recrutement.views.postuler_appel_offre', 
+        name='pieces'),
     url(r'^recrutement/postuler_appel_offre/$', 
         'recrutement.views.postuler_appel_offre', name='postuler_appel_offre'),
     (r'^tinymce/', include('tinymce.urls')),