6f2d5d58 |
1 | # -*- encoding: utf-8 -*- |
2 | from django.shortcuts import redirect, render_to_response, get_object_or_404 |
362a3534 |
3 | from django.http import HttpResponse |
4 | from django.contrib import messages |
5 | from django.template import Context, RequestContext |
6 | from django.shortcuts import render_to_response, redirect |
6f2d5d58 |
7 | from django.template import RequestContext |
f083eee0 |
8 | from django.contrib.auth.models import User |
6f2d5d58 |
9 | |
362a3534 |
10 | from forms import * |
11 | from models import * |
6f2d5d58 |
12 | from project.recrutement import models as recr |
13 | |
14 | def index(request): |
362a3534 |
15 | return render_to_response('recrutement/index.html', {}, |
16 | RequestContext(request)) |
17 | |
596fe324 |
18 | def evaluer_candidat(request): |
e34a2ae0 |
19 | candidat = get_object_or_404(Candidat, id=request.GET.get('id')) |
20 | |
21 | try: |
22 | evaluateur = UserProfile.objects.get(user=request.user) |
23 | except UserProfile.DoesNotExist: |
24 | messages.add_message(request, messages.ERROR, |
25 | "Vous ne pouvez pas évaluer un candidat.") |
26 | return redirect("admin:recrutement_candidat_changelist") |
27 | |
596fe324 |
28 | if request.method == "POST": |
29 | candidat_evaluation = CandidatEvaluation() |
30 | candidat_evaluation.candidat = candidat |
e34a2ae0 |
31 | candidat_evaluation.evaluateur = evaluateur |
8ea41642 |
32 | form = CandidatEvaluationForm(request.POST, |
e34a2ae0 |
33 | instance=candidat_evaluation, candidat=candidat, |
34 | evaluateur=evaluateur) |
35 | import pdb;pdb.set_trace() |
596fe324 |
36 | if form.is_valid(): |
37 | form.save() |
38 | messages.add_message(request, messages.SUCCESS, |
39 | "Le commentaire et la note ont été affectés \ |
40 | au candidat.") |
41 | return redirect("admin:recrutement_candidat_changelist") |
42 | else: |
e34a2ae0 |
43 | form = CandidatEvaluationForm(candidat=candidat, evaluateur=evaluateur) |
596fe324 |
44 | |
45 | c = {'form' : form} |
8ea41642 |
46 | return render_to_response("recrutement/evaluer_candidat.html", Context(c), |
596fe324 |
47 | context_instance = RequestContext(request)) |
48 | |
362a3534 |
49 | def affecter_evaluateurs_candidats(request): |
50 | candidat_ids = request.GET.get('ids').split(',') |
2adf9e0c |
51 | candidats = Candidat.objects.filter(id__in=candidat_ids) |
362a3534 |
52 | if request.method == "POST": |
53 | form = EvaluateurForm(request.POST, candidats=candidats) |
54 | if form.is_valid(): |
55 | form.save() |
56 | messages.add_message(request, messages.SUCCESS, |
57 | "Les évaluateurs ont été affectés aux candidats.") |
58 | return redirect("admin:recrutement_candidat_changelist") |
59 | else: |
60 | form = EvaluateurForm(candidats=candidats) |
61 | |
62 | c = {'form' : form} |
8ea41642 |
63 | return render_to_response("recrutement/affecter_evaluateurs.html", |
64 | Context(c), context_instance = RequestContext(request)) |
65 | |
66 | def postuler_appel_offre(request): |
f6749f29 |
67 | |
2b3edf33 |
68 | vars = dict() |
8ea41642 |
69 | offre_emploi = get_object_or_404(OffreEmploi, id=request.GET.get('id')) |
70 | candidat = Candidat() |
71 | candidat.offre_emploi = offre_emploi |
2b3edf33 |
72 | |
8ea41642 |
73 | if request.method == "POST": |
f6749f29 |
74 | form = PostulerOffreEmploiForm(request.POST, |
2adf9e0c |
75 | instance=candidat, offre_emploi=offre_emploi) |
76 | piecesForm = CandidatPieceForm(request.POST, request.FILES, |
77 | instance=candidat) |
f6749f29 |
78 | print form.errors |
2b3edf33 |
79 | if form.is_valid() and piecesForm.is_valid(): |
f6749f29 |
80 | offre = form.save() |
81 | piecesForm.instance = offre |
82 | piecesForm.save() |
8ea41642 |
83 | messages.add_message(request, messages.SUCCESS, |
84 | "Votre application à l'appel d'offre d'emploi a \ |
85 | été effectuée.") |
86 | return redirect("admin:recrutement_offreemploi_changelist") |
f6749f29 |
87 | else: |
88 | messages.add_message(request, messages.ERROR, |
89 | 'Il y a des erreurs dans le formulaire.') |
8ea41642 |
90 | else: |
2adf9e0c |
91 | form = PostulerOffreEmploiForm(instance=candidat, |
92 | offre_emploi=offre_emploi) |
2b3edf33 |
93 | piecesForm = CandidatPieceForm(instance=candidat) |
8ea41642 |
94 | |
2b3edf33 |
95 | vars.update(dict(form=form, candidat=candidat, piecesForm=piecesForm, )) |
96 | |
97 | return render_to_response('recrutement/postuler_appel_offre.html', vars, |
98 | RequestContext(request)) |