'telephone', 'email', 'adresse', 'ville', 'code_postal',
'etat_province', 'pays', 'captcha', )
+################################################################################
+# TEMPLATE COURRIEL
+################################################################################
+class CandidatCourrielForm(ModelForm):
+ #texte = forms.CharField(widget=TinyMCE())
+
+ def __init__(self, *args, **kwargs):
+ self.candidats = kwargs.pop('candidats')
+ super(CandidatCourrielForm, self).__init__(*args, **kwargs)
+
+ def save(self):
+ super(CandidatCourrielForm, self).save()
+
+ class Meta:
+ model = recr.CandidatCourriel
+ fields = ('template','titre', 'texte')
+
verbose_name = 'évaluation du candidat'
verbose_name_plural = 'évaluations des candidats'
-'''class CandidatLettre(models.Model):
+### TEMPLATE COURRIEL
+TEMPLATE_CHOICES = (
+ ('SEL', 'Sélectionné'),
+ ('REF', 'Refusé'),
+)
+
+class CourrielTemplate(models.Model):
+ template_name = models.CharField(max_length=100, )
+ subject = models.CharField(max_length=100, )
+ heading = models.CharField(max_length=100, )
+ plain_text = models.TextField()
+ html = models.TextField(related_name='+')
+
+ def __unicode__(self):
+ return u'%s' % self.template_name
+
+ class Meta:
+ ordering = ['template_name',]
+
+class CandidatCourriel(models.Model):
candidat = models.ForeignKey(Candidat, db_column='candidat',
- related_name='+',)
+ related_name='+', )
+ template = models.CharField(max_length=4, choices=TEMPLATE_CHOICES,
+ default='SEL', verbose_name="Modèle de courriel", )
titre = models.CharField(max_length=255, )
- texte = models.TextField(null=True, blank=True)
+ texte = models.TextField(null=True, blank=True, )
def __unicode__(self):
return '%s' % (self.titre)
-'''
--- /dev/null
+{% extends 'admin/base_site.html' %}
+{% load i18n adminmedia form_utils_tags %}
+
+{% block title %}RH - Recrutement{% endblock %}
+{% block titre %}Ressources humaines{% endblock %}
+{% block sous_titre %}Envoyer courriel{% endblock %}
+{% block extrahead %}
+
+{{ form.media }}
+{% endblock %}
+{% block content %}
+<div id="content-main">
+ {% block object-tools %}{% endblock %}
+
+
+
+ <div class="module">
+ <h2>Envoyer un courriel aux candidats</h2>
+
+ <form action="" method="post">
+ <table>
+ <tr>
+ <td>Candidats sélectionnés</td>
+ <td><select name="candidats" multiple="True">
+ {% for c in form.candidats %}
+ <option selected="selected" value="{{ c.nom }}_{{c.prenom}}_{{c.id}}">{{c}}</option>
+ {% endfor %}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>{{ form.template.label }}</td>
+ <td>{{ form.template }}</td>
+ </tr>
+ <tr>
+ <td>{{ form.titre.label }}</td>
+ <td>{{ form.titre }}</td>
+ </tr>
+ <tr>
+
+ <td>{{ form.texte.label }}</td>
+ <td>{{ form.texte }}</td>
+<script type="text/javascript">tinyMCE.setContent('<strong>Some contents</strong>');</script>
+ </tr>
+
+ </table>
+ <div class="submit-row">
+ <input type="submit" name="_save" class="default" value="Envoyer">
+ </div>
+ </form>
+ </div>
+
+
+</div>
+
+{% endblock %}
return render_to_response("recrutement/affecter_evaluateurs.html",
Context(c), context_instance = RequestContext(request))
+def envoyer_courriel_candidats(request):
+ candidat_ids = request.GET.get('ids').split(',')
+ candidats = Candidat.objects.filter(id__in=candidat_ids)
+ if request.method == "POST":
+ form = CandidatCourrielForm(request.POST, candidats=candidats)
+ if form.is_valid():
+ form.save()
+ messages.add_message(request, messages.SUCCESS,
+ "Les évaluateurs ont été affectés aux candidats.")
+ return redirect("admin:recrutement_candidat_changelist")
+ else:
+ form = CandidatCourrielForm(candidats=candidats)
+
+ c = {'form' : form}
+ return render_to_response("recrutement/envoyer_courriel_candidats.html",
+ Context(c), context_instance = RequestContext(request))
+
def postuler_appel_offre(request):
vars = dict()
offre_emploi.nom + u" a été effectuée avec succès. Vous\
devriez être contacté sous peu par l'AUF. \n\n Merci \
pour votre intérêt envers l'AUF.",
- 'contact@nilovna.com',
+ 'test@auf.org',
[candidat.email], fail_silently=False)
return redirect("admin:recrutement_offreemploi_changelist")
url(r'^recrutement/affecter_evaluateurs_candidats/$',
'recrutement.views.affecter_evaluateurs_candidats',
name='affecter_evaluateurs_candidats'),
+ url(r'^recrutement/envoyer_courriel_candidats/$',
+ 'recrutement.views.envoyer_courriel_candidats',
+ name='envoyer_courriel_candidats'),
url(r'^recrutement/afficher_candidat/$',
'recrutement.views.afficher_candidat',
name='afficher_candidat'),