Commit | Line | Data |
---|---|---|
6f2d5d58 | 1 | # -*- encoding: utf-8 -*- |
89e948de | 2 | |
362a3534 | 3 | from django.contrib import messages |
f083eee0 | 4 | from django.contrib.auth.models import User |
89e948de | 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 | |
6f2d5d58 | 9 | |
362a3534 | 10 | from forms import * |
11 | from models import * | |
6f2d5d58 | 12 | from project.recrutement import models as recr |
f6724c20 | 13 | from recrutement.workflow import grp_evaluateurs_recrutement |
6f2d5d58 | 14 | |
15 | def index(request): | |
362a3534 | 16 | return render_to_response('recrutement/index.html', {}, |
17 | RequestContext(request)) | |
18 | ||
19 | def 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 | 36 | def 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 | 54 | def 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 |
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) | |
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)) |