[#2658] Retrait du hack app_label() dans rh.models
[auf_rh_dae.git] / project / recrutement / views.py
index 217180f..2b3f880 100644 (file)
@@ -1,5 +1,6 @@
 # -*- encoding: utf-8 -*-
 
+from auf.django.emploi import models as emploi
 from django.core.urlresolvers import reverse
 from django.contrib import messages
 from django.views.static import serve
@@ -8,13 +9,13 @@ from django.shortcuts import render_to_response, redirect
 from django.template import Context, RequestContext, Template
 from django.core.mail import EmailMultiAlternatives
 
-from forms import *
-from models import *
-from recrutement.workflow import recrutement_groupes
+from project.dae.decorators import redirect_interdiction
+from project.recrutement import forms
+from project.recrutement import models
+from project.recrutement.workflow import recrutement_groupes
+
 
-################################################################################
 # MEDIA PRIVE
-################################################################################
 
 def mediaserve(request, path, document_root=None, show_indexes=False):
     """
@@ -33,104 +34,123 @@ def mediaserve(request, path, document_root=None, show_indexes=False):
 
     return serve(request, path, document_root, show_indexes)
 
+
 def index(request):
-    return render_to_response('recrutement/index.html', {}, 
-                                RequestContext(request))
+    return render_to_response(
+        'recrutement/index.html', {}, RequestContext(request)
+    )
+
 
 def selectionner_template(request):
     candidat_ids = request.GET.get('ids')
     if request.method == "POST":
-        form = CandidatCourrielTemplateForm(request.POST)
+        form = forms.CandidatCourrielTemplateForm(request.POST)
         if form.is_valid():
             form.save()
             courriel_template_id = form.get_template()
-            
-            return HttpResponseRedirect(reverse('envoyer_courriel_candidats')+
-            "?ids_cand=%s&id_temp=%s" % (candidat_ids, courriel_template_id))
+
+            return HttpResponseRedirect(
+                reverse('envoyer_courriel_candidats') +
+                "?ids_cand=%s&id_temp=%s" %
+                (candidat_ids, courriel_template_id)
+            )
     else:
-        form = CandidatCourrielTemplateForm()
+        form = forms.CandidatCourrielTemplateForm()
+
+    return render_to_response("recrutement/selectionner_template.html", {
+        'form': form
+    }, context_instance=RequestContext(request))
 
-    c = {'form' : form}   
-    return render_to_response("recrutement/selectionner_template.html", 
-            Context(c), context_instance = RequestContext(request))
 
 def envoyer_courriel_candidats(request):
     candidat_ids = request.GET.get('ids_cand').split(',')
-    candidats = Candidat.objects.filter(id__in=candidat_ids)
+    candidats = models.Candidat.objects.filter(id__in=candidat_ids)
     template_id = request.GET.get('id_temp')
-    template = CourrielTemplate.objects.get(id=template_id) 
+    template = models.CourrielTemplate.objects.get(id=template_id)
 
     if request.method == "POST":
-        form = CandidatCourrielForm(request.POST, instance=template,
-                                    candidats=candidats, template=template)
+        form = forms.CandidatCourrielForm(
+            request.POST, instance=template, candidats=candidats,
+            template=template
+        )
 
         if form.is_valid():
             form.save()
-            courriel_template = CourrielTemplate()
+            courriel_template = models.CourrielTemplate()
             courriel_template.nom_modele = template.nom_modele
             courriel_template.sujet = form.data['sujet']
             courriel_template.plain_text = form.data['plain_text']
-            for cand in candidats:     
+            for cand in candidats:
                 send_templated_email(cand, courriel_template)
-            messages.add_message(request, messages.SUCCESS, 
-                            "Le email a été envoyé aux candidats.")
+            messages.add_message(
+                request, messages.SUCCESS,
+                "Le email a été envoyé aux candidats."
+            )
             return redirect("admin:recrutement_candidat_changelist")
     else:
-        form = CandidatCourrielForm(candidats=candidats, template=template,
-                                    initial={'sujet': template.sujet,
-                                    'plain_text': template.plain_text,})
+        form = forms.CandidatCourrielForm(
+            candidats=candidats, template=template,
+            initial={
+                'sujet': template.sujet,
+                'plain_text': template.plain_text
+            }
+        )
+
+    return render_to_response("recrutement/envoyer_courriel_candidats.html", {
+        'form': form
+    }, context_instance=RequestContext(request))
 
-    c = {'form' : form}   
-    return render_to_response("recrutement/envoyer_courriel_candidats.html", 
-            Context(c), context_instance = RequestContext(request))
 
 def affecter_evaluateurs_offre_emploi(request):
     offre_emploi_ids = request.GET.get('ids').split(',')
-    offres_emploi = OffreEmploi.objects.filter(id__in=offre_emploi_ids)
+    offres_emploi = emploi.OffreEmploi.objects.filter(id__in=offre_emploi_ids)
     if request.method == "POST":
-        form = EvaluateurForm(request.POST, offres_emploi=offres_emploi)
+        form = forms.EvaluateurForm(request.POST, offres_emploi=offres_emploi)
         if form.is_valid():
             form.save()
-            messages.add_message(request, messages.SUCCESS, 
-                        "Les évaluateurs ont été affectés aux offres d'emploi.")
+            messages.add_message(
+                request, messages.SUCCESS,
+                "Les évaluateurs ont été affectés aux offres d'emploi."
+            )
             return redirect("admin:recrutement_proxyoffreemploi_changelist")
     else:
-        form = EvaluateurForm(offres_emploi=offres_emploi)
+        form = forms.EvaluateurForm(offres_emploi=offres_emploi)
+
+    return render_to_response("recrutement/affecter_evaluateurs.html", {
+        'form': form
+    }, context_instance=RequestContext(request))
 
-    c = {'form' : form}   
-    return render_to_response("recrutement/affecter_evaluateurs.html", 
-            Context(c), context_instance = RequestContext(request))
 
 def send_templated_email(candidat, template):
     from django.conf import settings
     # Sujet
     sujet_template = Template(template.sujet)
-    dict_sujet = {"offre_emploi": candidat.offre_emploi.nom,}            
+    dict_sujet = {"offre_emploi": candidat.offre_emploi.nom}
     sujet = Context(dict_sujet)
     # Plain text
     texte_template = Template(template.plain_text)
-    dict_texte = {"nom_candidat": candidat.nom, 
-                    "prenom_candidat": candidat.prenom, 
-                    "offre_emploi": candidat.offre_emploi.nom,
-                    "genre_candidat": "Monsieur" if candidat.genre == "M" \
-                                     else "Madame",
-                    }
+    dict_texte = {
+        "nom_candidat": candidat.nom,
+        "prenom_candidat": candidat.prenom,
+        "offre_emploi": candidat.offre_emploi.nom,
+        "genre_candidat": "Monsieur" if candidat.genre == "M" else "Madame",
+    }
     texte = Context(dict_texte)
     if getattr(settings, 'MAILING_ACTIF', False):
-        dst_emails = [candidat.email, ]
+        dst_emails = [candidat.email]
     else:
-        dst_emails = ['developpeurs@ca.auf.org', ]
-    msg = EmailMultiAlternatives(sujet_template.render(sujet), 
-                                texte_template.render(texte),
-                                'recrutement@auf.org', 
-                                dst_emails,              
-                                )
+        dst_emails = ['developpeurs@ca.auf.org']
+    msg = EmailMultiAlternatives(
+        sujet_template.render(sujet), texte_template.render(texte),
+        'recrutement@auf.org', dst_emails
+    )
     msg.send()
 
 
 def candidat_pdf(request):
     candidat_id = request.GET.get('id')
-    candidat = Candidat.objects.get(id=candidat_id)
+    candidat = models.Candidat.objects.get(id=candidat_id)
 
-    return render_to_response("recrutement/candidat_pdf.html", 
-            Context({'candidat' : candidat}), context_instance = RequestContext(request))
+    return render_to_response("recrutement/candidat_pdf.html", {
+        'candidat': candidat
+    }, context_instance=RequestContext(request))