1593: Ajouter les pièces jointes pour la postulation.
[auf_rh_dae.git] / project / recrutement / views.py
index 486f0b9..7e69b0f 100755 (executable)
@@ -14,9 +14,30 @@ def index(request):
     return render_to_response('recrutement/index.html', {}, 
                                 RequestContext(request))
 
+def evaluer_candidat(request):
+    candidat = get_object_or_404(Candidat, id__in=request.GET.get('id'))
+
+    if request.method == "POST":
+        candidat_evaluation = CandidatEvaluation()
+        candidat_evaluation.candidat = candidat
+        form = CandidatEvaluationForm(request.POST, 
+                instance=candidat_evaluation, candidat=candidat) 
+        if form.is_valid():       
+            form.save()    
+            messages.add_message(request, messages.SUCCESS, 
+                            "Le commentaire et la note ont été affectés \
+                                au candidat.")
+            return redirect("admin:recrutement_candidat_changelist")
+    else:      
+        form = CandidatEvaluationForm(candidat=candidat)
+
+    c = {'form' : form}   
+    return render_to_response("recrutement/evaluer_candidat.html", Context(c),
+                context_instance = RequestContext(request))
+
 def affecter_evaluateurs_candidats(request):
     candidat_ids = request.GET.get('ids').split(',')
-    candidats = Candidat.objects.filter(id__in=candidat_ids)
+    candidats = get_object_or_404(Candidat, id__in=candidat_ids)
     if request.method == "POST":
         form = EvaluateurForm(request.POST, candidats=candidats)
         if form.is_valid():
@@ -28,4 +49,30 @@ def affecter_evaluateurs_candidats(request):
         form = EvaluateurForm(candidats=candidats)
 
     c = {'form' : form}   
-    return render_to_response("recrutement/affecter_evaluateurs.html", Context(c), context_instance = RequestContext(request))
+    return render_to_response("recrutement/affecter_evaluateurs.html", 
+            Context(c), context_instance = RequestContext(request))
+
+def postuler_appel_offre(request):
+    vars = dict()
+    offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id'))
+    candidat = Candidat()
+    candidat.offre_emploi = offre_emploi
+
+    if request.method == "POST":
+        form = PostulerOffreEmploiForm(request.POST, request.FILES, instance=candidat, offre_emploi=offre_emploi)
+        piecesForm = CandidatPieceForm(request.POST, request.FILES, instance=candidat)
+        #import pdb;pdb.set_trace()
+        if form.is_valid() and piecesForm.is_valid():
+            form.save()
+            messages.add_message(request, messages.SUCCESS, 
+                            "Votre application à l'appel d'offre d'emploi a \
+                            été effectuée.")
+            return redirect("admin:recrutement_offreemploi_changelist")
+    else:
+        form = PostulerOffreEmploiForm(instance=candidat, offre_emploi=offre_emploi)
+        piecesForm = CandidatPieceForm(instance=candidat)
+
+    vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, ))
+    return render_to_response('recrutement/postuler_appel_offre.html', vars, 
+            RequestContext(request))