class OffreEmploiAdmin(VersionAdmin):
date_hierarchy = 'date_creation'
- list_display = ('nom', 'resume', 'date_limite', 'region', '_candidatsList')
-
+ list_display = ('nom', 'resume', 'date_limite', 'statut', 'est_affiche',
+ 'region', '_candidatsList')
+ list_filter = ('statut', 'est_affiche', )
actions = ['affecter_evaluateurs_offre_emploi', ]
# Affecter un évaluateurs à des offres d'emploi
def affecter_evaluateurs_offre_emploi(modeladmin, obj, candidats):
def __unicode__(self):
return '%s [%s]' % (self.nom, self.id)
+STATUT_OFFRE_EMPLOI_CHOICES = (
+ ('NOUV', 'Nouveau'),
+ ('AFFI', 'Offre d\'emploi en affichage'),
+ ('EVAL', 'En évaluation des candidatures'),
+ ('ENTR', 'En entrevue'),
+ ('TERM', 'Terminé'),
+)
+
class OffreEmploi(Metadata):
#objects = OffreEmploiManager()
+ est_affiche = models.BooleanField(default=False,
+ verbose_name="Afficher l'offre d'emploi")
+ statut = models.CharField(max_length=4, choices=STATUT_OFFRE_EMPLOI_CHOICES,
+ default='NOUV')
nom = models.CharField(max_length=255)
resume = models.TextField(verbose_name="Résumé")
description = tinymce_models.HTMLField()
return render_to_response('recrutement/index.html', {},
RequestContext(request))
-def afficher_candidat(request):
- candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
- var = {'candidat': candidat,}
- return render_to_response("recrutement/afficher_candidat.html", var,
- RequestContext(request))
-
def affecter_evaluateurs_candidats(request):
candidat_ids = request.GET.get('ids').split(',')
candidats = Candidat.objects.filter(id__in=candidat_ids)
return render_to_response('recrutement/postuler_appel_offre.html', vars,
RequestContext(request))
-def assigner_evaluateurs(request):
- pass
+def affecter_evaluateurs_offre_emploi(request):
+ offre_emploi_ids = request.GET.get('ids').split(',')
+ offres_emploi = OffreEmploi.objects.filter(id__in=offre_emploi_ids)
+ candidats = Candidat.objects.filter(offre_emploi__in=offres_emploi)
+ #import pdb;pdb.set_trace()
+ if request.method == "POST":
+ form = EvaluateurForm(request.POST, candidats=candidats)
+ if form.is_valid():
+ form.save()
+ messages.add_message(request, messages.SUCCESS,
+ "Les évaluateurs ont été affectés aux candidats.")
+ return redirect("admin:recrutement_offreemploi_changelist")
+ else:
+ form = EvaluateurForm(candidats=candidats)
+
+ c = {'form' : form}
+ return render_to_response("recrutement/affecter_evaluateurs.html",
+ Context(c), context_instance = RequestContext(request))