1 # -*- encoding: utf-8 -*-
3 from django
.contrib
import messages
4 from django
.contrib
.auth
.models
import User
5 from django
.core
.mail
import send_mail
6 from django
.http
import HttpResponse
7 from django
.shortcuts
import render_to_response
, redirect
, get_object_or_404
8 from django
.template
import Context
, RequestContext
12 from project
.recrutement
import models
as recr
13 from recrutement
.workflow
import grp_evaluateurs_recrutement
16 return render_to_response('recrutement/index.html', {},
17 RequestContext(request
))
19 def affecter_evaluateurs_candidats(request
):
20 candidat_ids
= request
.GET
.get('ids').split(',')
21 candidats
= Candidat
.objects
.filter(id__in
=candidat_ids
)
22 if request
.method
== "POST":
23 form
= EvaluateurForm(request
.POST
, candidats
=candidats
)
26 messages
.add_message(request
, messages
.SUCCESS
,
27 "Les évaluateurs ont été affectés aux candidats.")
28 return redirect("admin:recrutement_candidat_changelist")
30 form
= EvaluateurForm(candidats
=candidats
)
33 return render_to_response("recrutement/affecter_evaluateurs.html",
34 Context(c
), context_instance
= RequestContext(request
))
36 def envoyer_courriel_candidats(request
):
37 candidat_ids
= request
.GET
.get('ids').split(',')
38 candidats
= Candidat
.objects
.filter(id__in
=candidat_ids
)
40 if request
.method
== "POST":
41 form
= CandidatCourrielForm(request
.POST
, candidats
=candidats
)
44 messages
.add_message(request
, messages
.SUCCESS
,
45 "Les évaluateurs ont été affectés aux candidats.")
46 return redirect("admin:recrutement_candidat_changelist")
48 form
= CandidatCourrielForm(candidats
=candidats
)
51 return render_to_response("recrutement/envoyer_courriel_candidats.html",
52 Context(c
), context_instance
= RequestContext(request
))
54 def postuler_appel_offre(request
):
57 offre_emploi
= get_object_or_404(OffreEmploi
, id=request
.GET
.get('id'))
59 candidat
.offre_emploi
= offre_emploi
61 if request
.method
== "POST":
62 form
= PostulerOffreEmploiForm(request
.POST
,
63 instance
=candidat
, offre_emploi
=offre_emploi
)
64 piecesForm
= CandidatPieceForm(request
.POST
, request
.FILES
,
67 if form
.is_valid() and piecesForm
.is_valid():
69 piecesForm
.instance
= offre
71 messages
.add_message(request
, messages
.SUCCESS
,
72 "Votre application à l'appel d'offre d'emploi a \
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.",
85 [candidat
.email
], fail_silently
=False)
87 return redirect("admin:recrutement_offreemploi_changelist")
89 messages
.add_message(request
, messages
.ERROR
,
90 'Il y a des erreurs dans le formulaire.')
92 form
= PostulerOffreEmploiForm(instance
=candidat
,
93 offre_emploi
=offre_emploi
)
94 piecesForm
= CandidatPieceForm(instance
=candidat
)
96 vars.update(dict(form
=form
, candidat
=candidat
, piecesForm
=piecesForm
, ))
98 return render_to_response('recrutement/postuler_appel_offre.html', vars,
99 RequestContext(request
))
101 def 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
)
105 #import pdb;pdb.set_trace()
106 if request
.method
== "POST":
107 form
= EvaluateurForm(request
.POST
, candidats
=candidats
)
110 messages
.add_message(request
, messages
.SUCCESS
,
111 "Les évaluateurs ont été affectés aux candidats.")
112 return redirect("admin:recrutement_offreemploi_changelist")
114 form
= EvaluateurForm(candidats
=candidats
)
117 return render_to_response("recrutement/affecter_evaluateurs.html",
118 Context(c
), context_instance
= RequestContext(request
))