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 | ||
7d82fd33 | 19 | def afficher_candidat(request): |
20 | candidat = get_object_or_404(Candidat, id=request.GET.get('id')) | |
73d23dcd | 21 | var = {'candidat': candidat,} |
7d82fd33 | 22 | return render_to_response("recrutement/afficher_candidat.html", var, |
23 | RequestContext(request)) | |
24 | ||
362a3534 | 25 | def affecter_evaluateurs_candidats(request): |
26 | candidat_ids = request.GET.get('ids').split(',') | |
2adf9e0c | 27 | candidats = Candidat.objects.filter(id__in=candidat_ids) |
362a3534 | 28 | if request.method == "POST": |
29 | form = EvaluateurForm(request.POST, candidats=candidats) | |
30 | if form.is_valid(): | |
31 | form.save() | |
32 | messages.add_message(request, messages.SUCCESS, | |
33 | "Les évaluateurs ont été affectés aux candidats.") | |
34 | return redirect("admin:recrutement_candidat_changelist") | |
35 | else: | |
36 | form = EvaluateurForm(candidats=candidats) | |
37 | ||
38 | c = {'form' : form} | |
8ea41642 | 39 | return render_to_response("recrutement/affecter_evaluateurs.html", |
40 | Context(c), context_instance = RequestContext(request)) | |
41 | ||
d84c3a68 | 42 | def envoyer_courriel_candidats(request): |
43 | candidat_ids = request.GET.get('ids').split(',') | |
44 | candidats = Candidat.objects.filter(id__in=candidat_ids) | |
4e8340cf | 45 | |
d84c3a68 | 46 | if request.method == "POST": |
47 | form = CandidatCourrielForm(request.POST, candidats=candidats) | |
48 | if form.is_valid(): | |
49 | form.save() | |
50 | messages.add_message(request, messages.SUCCESS, | |
51 | "Les évaluateurs ont été affectés aux candidats.") | |
52 | return redirect("admin:recrutement_candidat_changelist") | |
53 | else: | |
54 | form = CandidatCourrielForm(candidats=candidats) | |
55 | ||
56 | c = {'form' : form} | |
57 | return render_to_response("recrutement/envoyer_courriel_candidats.html", | |
58 | Context(c), context_instance = RequestContext(request)) | |
59 | ||
8ea41642 | 60 | def postuler_appel_offre(request): |
f6749f29 | 61 | |
2b3edf33 | 62 | vars = dict() |
8ea41642 | 63 | offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id')) |
64 | candidat = Candidat() | |
65 | candidat.offre_emploi = offre_emploi | |
2b3edf33 | 66 | |
8ea41642 | 67 | if request.method == "POST": |
f6749f29 | 68 | form = PostulerOffreEmploiForm(request.POST, |
2adf9e0c | 69 | instance=candidat, offre_emploi=offre_emploi) |
70 | piecesForm = CandidatPieceForm(request.POST, request.FILES, | |
71 | instance=candidat) | |
f6749f29 | 72 | print form.errors |
2b3edf33 | 73 | if form.is_valid() and piecesForm.is_valid(): |
f6749f29 | 74 | offre = form.save() |
75 | piecesForm.instance = offre | |
89e948de | 76 | piecesForm.save() |
8ea41642 | 77 | messages.add_message(request, messages.SUCCESS, |
78 | "Votre application à l'appel d'offre d'emploi a \ | |
79 | été effectuée.") | |
89e948de | 80 | |
81 | # Envoi d'un email de confirmation | |
82 | send_mail(u"Confirmation de postulation pour le poste \ | |
83 | de " + offre_emploi.nom, | |
84 | u"Bonjour " + candidat.prenom + " " + candidat.nom + | |
85 | u", \nceci est un email pour vous confirmer que votre \ | |
86 | postulation pour l'offre d'emploi: " + | |
87 | offre_emploi.nom + u" a été effectuée avec succès. Vous\ | |
88 | devriez être contacté sous peu par l'AUF. \n\n Merci \ | |
89 | pour votre intérêt envers l'AUF.", | |
d84c3a68 | 90 | 'test@auf.org', |
89e948de | 91 | [candidat.email], fail_silently=False) |
92 | ||
8ea41642 | 93 | return redirect("admin:recrutement_offreemploi_changelist") |
f6749f29 | 94 | else: |
95 | messages.add_message(request, messages.ERROR, | |
96 | 'Il y a des erreurs dans le formulaire.') | |
8ea41642 | 97 | else: |
2adf9e0c | 98 | form = PostulerOffreEmploiForm(instance=candidat, |
99 | offre_emploi=offre_emploi) | |
2b3edf33 | 100 | piecesForm = CandidatPieceForm(instance=candidat) |
8ea41642 | 101 | |
2b3edf33 | 102 | vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, )) |
103 | ||
104 | return render_to_response('recrutement/postuler_appel_offre.html', vars, | |
105 | RequestContext(request)) | |
b903198b NBV |
106 | |
107 | def assigner_evaluateurs(request): | |
108 | pass |