1702: Un administrateur ne devrait pas être en mesure de modifier la note d'un évaluateur
[auf_rh_dae.git] / project / recrutement / views.py
CommitLineData
6f2d5d58 1# -*- encoding: utf-8 -*-
89e948de 2
362a3534 3from django.contrib import messages
f083eee0 4from django.contrib.auth.models import User
89e948de 5from django.core.mail import send_mail
6from django.http import HttpResponse
7from django.shortcuts import render_to_response, redirect, get_object_or_404
8from django.template import Context, RequestContext
6f2d5d58 9
362a3534 10from forms import *
11from models import *
6f2d5d58 12from project.recrutement import models as recr
f6724c20 13from recrutement.workflow import grp_evaluateurs_recrutement
6f2d5d58 14
15def index(request):
362a3534 16 return render_to_response('recrutement/index.html', {},
17 RequestContext(request))
18
19def affecter_evaluateurs_candidats(request):
20 candidat_ids = request.GET.get('ids').split(',')
2adf9e0c 21 candidats = Candidat.objects.filter(id__in=candidat_ids)
362a3534 22 if request.method == "POST":
23 form = EvaluateurForm(request.POST, candidats=candidats)
24 if form.is_valid():
25 form.save()
26 messages.add_message(request, messages.SUCCESS,
27 "Les évaluateurs ont été affectés aux candidats.")
28 return redirect("admin:recrutement_candidat_changelist")
29 else:
30 form = EvaluateurForm(candidats=candidats)
31
32 c = {'form' : form}
8ea41642 33 return render_to_response("recrutement/affecter_evaluateurs.html",
34 Context(c), context_instance = RequestContext(request))
35
d84c3a68 36def envoyer_courriel_candidats(request):
37 candidat_ids = request.GET.get('ids').split(',')
38 candidats = Candidat.objects.filter(id__in=candidat_ids)
4e8340cf 39
d84c3a68 40 if request.method == "POST":
41 form = CandidatCourrielForm(request.POST, candidats=candidats)
42 if form.is_valid():
43 form.save()
44 messages.add_message(request, messages.SUCCESS,
45 "Les évaluateurs ont été affectés aux candidats.")
46 return redirect("admin:recrutement_candidat_changelist")
47 else:
48 form = CandidatCourrielForm(candidats=candidats)
49
50 c = {'form' : form}
51 return render_to_response("recrutement/envoyer_courriel_candidats.html",
52 Context(c), context_instance = RequestContext(request))
53
8ea41642 54def postuler_appel_offre(request):
f6749f29 55
2b3edf33 56 vars = dict()
8ea41642 57 offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id'))
58 candidat = Candidat()
59 candidat.offre_emploi = offre_emploi
2b3edf33 60
8ea41642 61 if request.method == "POST":
f6749f29 62 form = PostulerOffreEmploiForm(request.POST,
2adf9e0c 63 instance=candidat, offre_emploi=offre_emploi)
64 piecesForm = CandidatPieceForm(request.POST, request.FILES,
65 instance=candidat)
f6749f29 66 print form.errors
2b3edf33 67 if form.is_valid() and piecesForm.is_valid():
f6749f29 68 offre = form.save()
69 piecesForm.instance = offre
89e948de 70 piecesForm.save()
8ea41642 71 messages.add_message(request, messages.SUCCESS,
72 "Votre application à l'appel d'offre d'emploi a \
73 été effectuée.")
89e948de 74
75 # Envoi d'un email de confirmation
76 send_mail(u"Confirmation de postulation pour le poste \
77 de " + offre_emploi.nom,
78 u"Bonjour " + candidat.prenom + " " + candidat.nom +
79 u", \nceci est un email pour vous confirmer que votre \
80 postulation pour l'offre d'emploi: " +
81 offre_emploi.nom + u" a été effectuée avec succès. Vous\
82 devriez être contacté sous peu par l'AUF. \n\n Merci \
83 pour votre intérêt envers l'AUF.",
d84c3a68 84 'test@auf.org',
89e948de 85 [candidat.email], fail_silently=False)
86
8ea41642 87 return redirect("admin:recrutement_offreemploi_changelist")
f6749f29 88 else:
89 messages.add_message(request, messages.ERROR,
90 'Il y a des erreurs dans le formulaire.')
8ea41642 91 else:
2adf9e0c 92 form = PostulerOffreEmploiForm(instance=candidat,
93 offre_emploi=offre_emploi)
2b3edf33 94 piecesForm = CandidatPieceForm(instance=candidat)
8ea41642 95
2b3edf33 96 vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, ))
97
98 return render_to_response('recrutement/postuler_appel_offre.html', vars,
99 RequestContext(request))
b903198b 100
514db699
NBV
101def affecter_evaluateurs_offre_emploi(request):
102 offre_emploi_ids = request.GET.get('ids').split(',')
103 offres_emploi = OffreEmploi.objects.filter(id__in=offre_emploi_ids)
104 candidats = Candidat.objects.filter(offre_emploi__in=offres_emploi)
514db699
NBV
105 if request.method == "POST":
106 form = EvaluateurForm(request.POST, candidats=candidats)
107 if form.is_valid():
108 form.save()
109 messages.add_message(request, messages.SUCCESS,
110 "Les évaluateurs ont été affectés aux candidats.")
111 return redirect("admin:recrutement_offreemploi_changelist")
112 else:
113 form = EvaluateurForm(candidats=candidats)
114
115 c = {'form' : form}
116 return render_to_response("recrutement/affecter_evaluateurs.html",
117 Context(c), context_instance = RequestContext(request))