from recrutement.models import *
from recrutement.workflow import grp_administrateurs_recrutement,\
grp_evaluateurs_recrutement, grp_drh_recrutement
+from recrutement.forms import *
"""
class MetaAdmin(VersionAdmin):
'est_affiche', '_candidatsList')
list_filter = ('statut', 'est_affiche', )
actions = ['affecter_evaluateurs_offre_emploi', ]
+ form = OffreEmploiForm
def get_actions(self, request):
actions = super(OffreEmploiAdmin, self).get_actions(request)
from recrutement import models as recr
from auf.django.emploi import forms as emploi
-
-
################################################################################
# EVALUATION
################################################################################
def save(self):
candidats = recr.Candidat.objects.\
filter(offre_emploi__in=self.offres_emploi)
- import pdb;pdb.set_trace()
for candidat in candidats:
for evaluateur in self.cleaned_data.get('evaluateurs', []):
candidat_evaluation = recr.CandidatEvaluation()
class PostulerOffreEmploiForm(emploi.PostulerOffreEmploiForm):
pass
-"""class OffreEmploiForm(emploi.OffreEmploi):
+class OffreEmploiForm(ModelForm):
+ class Meta:
+ model = recr.OffreEmploi
+
def clean(self):
cleaned_data = self.cleaned_data
date_limite = cleaned_data.get("date_limite")
if date_limite and debut_affectation:
if date_limite > debut_affectation:
- raise forms.ValidationError("La date limite doit être \
- ultérieure à la date de début d'affectation.")
+ raise forms.ValidationError("La date limite ne peut être \
+ supérieure à la date d'affection.")
+
return cleaned_data
-"""
+
################################################################################
# TEMPLATE COURRIEL
################################################################################
from forms import *
from models import *
from recrutement.workflow import grp_evaluateurs_recrutement
+from auf.django.emploi import views as emp
def index(request):
return render_to_response('recrutement/index.html', {},
courriel_template.plain_text = form.data['plain_text']
courriel_template.html = form.data['html']
for cand in candidats:
- send_templated_email(cand, courriel_template)
+ emp.send_templated_email(cand, courriel_template)
messages.add_message(request, messages.SUCCESS,
"Le email a été envoyé aux candidats.")
return redirect("admin:recrutement_candidat_changelist")
c = {'form' : form}
return render_to_response("recrutement/affecter_evaluateurs.html",
Context(c), context_instance = RequestContext(request))
-
-def send_templated_email(candidat, template):
- # Sujet
- sujet_template = Template(template.sujet)
- 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",
- }
- texte = Context(dict_texte)
- # HTML text
- html_template = Template(template.html)
- texte_html = Context(dict_texte)
- msg = EmailMultiAlternatives(sujet_template.render(sujet),
- texte_template.render(texte),
- 'recrutement@auf.org',
- [candidat.email])
- msg.attach_alternative(texte_template.render(texte_html), "text/html")
- msg.send()
# -*- encoding: utf-8 -*-
-import os
from django import forms
-from django.contrib import admin
from django.forms.models import inlineformset_factory
from django.forms.widgets import CheckboxSelectMultiple
from django.forms import ModelForm
texte_template = Template(template.plain_text)
dict_texte = {"nom_candidat": candidat.nom,
"prenom_candidat": candidat.prenom,
- "offre_emploi": candidat.offre_emploi.nom,}
+ "offre_emploi": candidat.offre_emploi.nom,
+ "genre_candidat": "Monsieur" if candidat.genre == "M" \
+ else "Madame",
+ }
texte = Context(dict_texte)
# HTML text
html_template = Template(template.html)