1642: Ajout de pièces jointes
[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
7d82fd33 18def afficher_candidat(request):
19 candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
cb00425b 20 pieces_jointes = CandidatPiece.objects.get(candidat=candidat)
21 #import pdb;pdb.set_trace()
22 var = {'candidat': candidat,
23 'pieces_jointes': pieces_jointes}
7d82fd33 24 return render_to_response("recrutement/afficher_candidat.html", var,
25 RequestContext(request))
26
596fe324 27def evaluer_candidat(request):
e34a2ae0 28 candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
29
30 try:
31 evaluateur = UserProfile.objects.get(user=request.user)
32 except UserProfile.DoesNotExist:
33 messages.add_message(request, messages.ERROR,
7d82fd33 34 "Vous ne pouvez pas évaluer ce candidat.")
e34a2ae0 35 return redirect("admin:recrutement_candidat_changelist")
36
596fe324 37 if request.method == "POST":
38 candidat_evaluation = CandidatEvaluation()
39 candidat_evaluation.candidat = candidat
e34a2ae0 40 candidat_evaluation.evaluateur = evaluateur
8ea41642 41 form = CandidatEvaluationForm(request.POST,
e34a2ae0 42 instance=candidat_evaluation, candidat=candidat,
43 evaluateur=evaluateur)
596fe324 44 if form.is_valid():
45 form.save()
46 messages.add_message(request, messages.SUCCESS,
47 "Le commentaire et la note ont été affectés \
48 au candidat.")
49 return redirect("admin:recrutement_candidat_changelist")
50 else:
e34a2ae0 51 form = CandidatEvaluationForm(candidat=candidat, evaluateur=evaluateur)
596fe324 52
53 c = {'form' : form}
8ea41642 54 return render_to_response("recrutement/evaluer_candidat.html", Context(c),
596fe324 55 context_instance = RequestContext(request))
56
362a3534 57def affecter_evaluateurs_candidats(request):
58 candidat_ids = request.GET.get('ids').split(',')
2adf9e0c 59 candidats = Candidat.objects.filter(id__in=candidat_ids)
362a3534 60 if request.method == "POST":
61 form = EvaluateurForm(request.POST, candidats=candidats)
62 if form.is_valid():
63 form.save()
64 messages.add_message(request, messages.SUCCESS,
65 "Les évaluateurs ont été affectés aux candidats.")
66 return redirect("admin:recrutement_candidat_changelist")
67 else:
68 form = EvaluateurForm(candidats=candidats)
69
70 c = {'form' : form}
8ea41642 71 return render_to_response("recrutement/affecter_evaluateurs.html",
72 Context(c), context_instance = RequestContext(request))
73
74def postuler_appel_offre(request):
f6749f29 75
2b3edf33 76 vars = dict()
8ea41642 77 offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id'))
78 candidat = Candidat()
79 candidat.offre_emploi = offre_emploi
2b3edf33 80
8ea41642 81 if request.method == "POST":
f6749f29 82 form = PostulerOffreEmploiForm(request.POST,
2adf9e0c 83 instance=candidat, offre_emploi=offre_emploi)
84 piecesForm = CandidatPieceForm(request.POST, request.FILES,
85 instance=candidat)
f6749f29 86 print form.errors
2b3edf33 87 if form.is_valid() and piecesForm.is_valid():
f6749f29 88 offre = form.save()
89 piecesForm.instance = offre
90 piecesForm.save()
8ea41642 91 messages.add_message(request, messages.SUCCESS,
92 "Votre application à l'appel d'offre d'emploi a \
93 été effectuée.")
94 return redirect("admin:recrutement_offreemploi_changelist")
f6749f29 95 else:
96 messages.add_message(request, messages.ERROR,
97 'Il y a des erreurs dans le formulaire.')
8ea41642 98 else:
2adf9e0c 99 form = PostulerOffreEmploiForm(instance=candidat,
100 offre_emploi=offre_emploi)
2b3edf33 101 piecesForm = CandidatPieceForm(instance=candidat)
8ea41642 102
2b3edf33 103 vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, ))
104
105 return render_to_response('recrutement/postuler_appel_offre.html', vars,
106 RequestContext(request))