Modifications pas bonnes
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Wed, 29 Jun 2011 19:34:18 +0000 (15:34 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Wed, 29 Jun 2011 19:34:18 +0000 (15:34 -0400)
project/recrutement/forms.py
project/recrutement/models.py
project/recrutement/templates/recrutement/envoyer_courriel_candidats.html [new file with mode: 0644]
project/recrutement/views.py
project/urls.py

index f434ade..92b39db 100644 (file)
@@ -78,3 +78,20 @@ class PostulerOffreEmploiForm(ModelForm):
                     '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')
+
index e53cf3e..51a8f0c 100755 (executable)
@@ -188,13 +188,33 @@ class CandidatEvaluation(models.Model):
         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)
-'''
     
diff --git a/project/recrutement/templates/recrutement/envoyer_courriel_candidats.html b/project/recrutement/templates/recrutement/envoyer_courriel_candidats.html
new file mode 100644 (file)
index 0000000..357378a
--- /dev/null
@@ -0,0 +1,56 @@
+{% 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 %}
index 35285b8..767e90a 100755 (executable)
@@ -69,6 +69,23 @@ def affecter_evaluateurs_candidats(request):
     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()
@@ -99,7 +116,7 @@ def postuler_appel_offre(request):
                         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")
index 674c3c8..55b2560 100644 (file)
@@ -22,6 +22,9 @@ urlpatterns = patterns(
     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'),