1654: Sécurité CAPTCHA
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Tue, 21 Jun 2011 15:55:41 +0000 (11:55 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Tue, 21 Jun 2011 15:55:41 +0000 (11:55 -0400)
buildout.cfg
project/recrutement/forms.py
project/recrutement/templates/recrutement/postuler_appel_offre.html
project/settings.py
project/urls.py

index 0f62943..8d81c2f 100644 (file)
@@ -24,6 +24,7 @@ eggs =
     django-ajax-selects
     django-form-utils
     django-tinymce
+    django-simple-captcha
 # LA PROD ne dispose que de reportlab 2.1, incompatible avec
 # les versions de pisa assez évoluées pour un bon rendu.
 #    reportlab
index 6b40660..f3a8b9b 100644 (file)
@@ -8,6 +8,7 @@ from form_utils.forms import BetterModelForm
 from django.forms import ModelForm
 from django.forms.models import BaseInlineFormSet 
 from tinymce.widgets import TinyMCE
+from captcha.fields import CaptchaField
 
 from recrutement import models as recr
 
@@ -48,6 +49,8 @@ class CandidatPieceForm(inlineformset_factory(recr.Candidat,
     pass
 
 class PostulerOffreEmploiForm(ModelForm):
+    captcha = CaptchaField()
+
     def __init__(self, *args, **kwargs):
         self.offre_emploi = kwargs.pop('offre_emploi')      
         super(PostulerOffreEmploiForm, self).__init__(*args, **kwargs)
@@ -67,5 +70,5 @@ class PostulerOffreEmploiForm(ModelForm):
                     'situation_famille', 'nombre_dependant', 'niveau_diplome',
                     'employeur_actuel', 'poste_actuel', 'domaine_professionnel',
                     'telephone', 'email', 'adresse', 'ville', 'code_postal',
-                    'etat_province', 'pays', )
+                    'etat_province', 'pays', 'captcha', )
 
index 0f54276..97303fb 100644 (file)
             <p class="info">CV, lettre de motivation...</p>
             {% include "recrutement/pieces.html" %}
         </fieldset>
+        <fieldset>
+            <h2>Vérification CATPCHA</h2>
+            <p class="info">Entrez les caractères figurant dans l'image ci-dessous.</p>
+                <tr>
+                    <td>{{ form.captcha }}</td>
+                </tr>
+        </fieldset>
         <div class="submit-row">
             <input type="submit" name="save" value="Enregistrer" />
         </div>
index 1cd0ea5..e7a74ed 100644 (file)
@@ -73,6 +73,7 @@ INSTALLED_APPS = (
     'project.recrutement',
     'form_utils',
     'tinymce',
+    'captcha',
 #    'private_files', 
 )
 
index 3c32281..b37464a 100644 (file)
@@ -12,6 +12,7 @@ urlpatterns = patterns(
     '',
     (r'^$', 'project.views.index'),
     #url(r'^private_files/', include('private_files.urls')),
+    url(r'^captcha/', include('captcha.urls')),
     url(r'^admin_tools/', include('admin_tools.urls')),
     (r'^admin/', include(admin.site.urls)),
     (r'^connexion/$', 'django.contrib.auth.views.login'),