1503: Évaluation des candidatures
[auf_rh_dae.git] / project / recrutement / views.py
CommitLineData
6f2d5d58 1# -*- encoding: utf-8 -*-
2from django.shortcuts import redirect, render_to_response, get_object_or_404
362a3534 3from django.http import HttpResponse
4from django.contrib import messages
5from django.template import Context, RequestContext
6from django.shortcuts import render_to_response, redirect
6f2d5d58 7from django.template import RequestContext
f083eee0 8from django.contrib.auth.models import User
6f2d5d58 9
362a3534 10from forms import *
11from models import *
6f2d5d58 12from project.recrutement import models as recr
13
14def index(request):
362a3534 15 return render_to_response('recrutement/index.html', {},
16 RequestContext(request))
17
596fe324 18def evaluer_candidat(request):
e34a2ae0 19 candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
20
21 try:
22 evaluateur = UserProfile.objects.get(user=request.user)
23 except UserProfile.DoesNotExist:
24 messages.add_message(request, messages.ERROR,
25 "Vous ne pouvez pas évaluer un candidat.")
26 return redirect("admin:recrutement_candidat_changelist")
27
596fe324 28 if request.method == "POST":
29 candidat_evaluation = CandidatEvaluation()
30 candidat_evaluation.candidat = candidat
e34a2ae0 31 candidat_evaluation.evaluateur = evaluateur
8ea41642 32 form = CandidatEvaluationForm(request.POST,
e34a2ae0 33 instance=candidat_evaluation, candidat=candidat,
34 evaluateur=evaluateur)
35 import pdb;pdb.set_trace()
596fe324 36 if form.is_valid():
37 form.save()
38 messages.add_message(request, messages.SUCCESS,
39 "Le commentaire et la note ont été affectés \
40 au candidat.")
41 return redirect("admin:recrutement_candidat_changelist")
42 else:
e34a2ae0 43 form = CandidatEvaluationForm(candidat=candidat, evaluateur=evaluateur)
596fe324 44
45 c = {'form' : form}
8ea41642 46 return render_to_response("recrutement/evaluer_candidat.html", Context(c),
596fe324 47 context_instance = RequestContext(request))
48
362a3534 49def affecter_evaluateurs_candidats(request):
50 candidat_ids = request.GET.get('ids').split(',')
2adf9e0c 51 candidats = Candidat.objects.filter(id__in=candidat_ids)
362a3534 52 if request.method == "POST":
53 form = EvaluateurForm(request.POST, candidats=candidats)
54 if form.is_valid():
55 form.save()
56 messages.add_message(request, messages.SUCCESS,
57 "Les évaluateurs ont été affectés aux candidats.")
58 return redirect("admin:recrutement_candidat_changelist")
59 else:
60 form = EvaluateurForm(candidats=candidats)
61
62 c = {'form' : form}
8ea41642 63 return render_to_response("recrutement/affecter_evaluateurs.html",
64 Context(c), context_instance = RequestContext(request))
65
66def postuler_appel_offre(request):
f6749f29 67
2b3edf33 68 vars = dict()
8ea41642 69 offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id'))
70 candidat = Candidat()
71 candidat.offre_emploi = offre_emploi
2b3edf33 72
8ea41642 73 if request.method == "POST":
f6749f29 74 form = PostulerOffreEmploiForm(request.POST,
2adf9e0c 75 instance=candidat, offre_emploi=offre_emploi)
76 piecesForm = CandidatPieceForm(request.POST, request.FILES,
77 instance=candidat)
f6749f29 78 print form.errors
2b3edf33 79 if form.is_valid() and piecesForm.is_valid():
f6749f29 80 offre = form.save()
81 piecesForm.instance = offre
82 piecesForm.save()
8ea41642 83 messages.add_message(request, messages.SUCCESS,
84 "Votre application à l'appel d'offre d'emploi a \
85 été effectuée.")
86 return redirect("admin:recrutement_offreemploi_changelist")
f6749f29 87 else:
88 messages.add_message(request, messages.ERROR,
89 'Il y a des erreurs dans le formulaire.')
8ea41642 90 else:
2adf9e0c 91 form = PostulerOffreEmploiForm(instance=candidat,
92 offre_emploi=offre_emploi)
2b3edf33 93 piecesForm = CandidatPieceForm(instance=candidat)
8ea41642 94
2b3edf33 95 vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, ))
96
97 return render_to_response('recrutement/postuler_appel_offre.html', vars,
98 RequestContext(request))