API: Permettre la postulation a partir du site institutionnel
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Fri, 5 Aug 2011 21:19:43 +0000 (17:19 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Fri, 5 Aug 2011 21:19:43 +0000 (17:19 -0400)
auf/django/emploi/api.py
auf/django/emploi/forms.py
auf/django/emploi/templates/emploi/pieces.html [new file with mode: 0644]
auf/django/emploi/templates/emploi/postuler_appel_offre.html [new file with mode: 0644]
auf/django/emploi/templates/recrutement/pieces.html [deleted file]
auf/django/emploi/templates/recrutement/postuler_appel_offre.html [deleted file]

index 5a7e778..4304f5b 100644 (file)
@@ -6,6 +6,9 @@ from django.utils import simplejson
 from auf.django.emploi import models as emploi
 from auf.django.emploi import forms as emploiForms
 from restkit import request as req
 from auf.django.emploi import models as emploi
 from auf.django.emploi import forms as emploiForms
 from restkit import request as req
+from restkit import Resource
+from httplib2 import Http
+from urllib import urlencode
 import datamaster_modeles.models as ref
 
 class API:
 import datamaster_modeles.models as ref
 
 class API:
@@ -62,7 +65,11 @@ class API:
         return obj_offres_emploi
 
     def candidat_add(self, offre_id):
         return obj_offres_emploi
 
     def candidat_add(self, offre_id):
-        url = "http://127.0.0.1:8000/api/candidat_add/?id=%s" % (offre_id)
-        return redirect(url)
+        url = "http://127.0.0.1:8000/api/candidat_add/%s" % offre_id
+        r = Resource(url)
+        import pdb;pdb.set_trace()
+        resp = r.post(payload=self.request.POST)
+
+        return resp.status    
 
         
 
         
index 7f963cc..79338eb 100644 (file)
@@ -7,21 +7,22 @@ from django.forms import ModelForm
 
 from captcha.fields import CaptchaField
 
 
 from captcha.fields import CaptchaField
 
-from auf.django.emploi import models as emploi
+from models import *
 
 ################################################################################
 # OFFRE EMPLOI
 ################################################################################
 
 ################################################################################
 # OFFRE EMPLOI
 ################################################################################
-class CandidatPieceForm(inlineformset_factory(emploi.Candidat,
-                        emploi.CandidatPiece)):
-    nom = forms.MultipleChoiceField(choices=emploi.TYPE_PIECE_CHOICES,
+class CandidatPieceForm(inlineformset_factory(Candidat,
+                        CandidatPiece)):
+    nom = forms.MultipleChoiceField(choices=TYPE_PIECE_CHOICES,
             widget=CheckboxSelectMultiple)
 
 class PostulerOffreEmploiForm(ModelForm):
     captcha = CaptchaField()
             widget=CheckboxSelectMultiple)
 
 class PostulerOffreEmploiForm(ModelForm):
     captcha = CaptchaField()
+    action = "http://127.0.0.1:8000/api/candidat_add/"
 
     def __init__(self, *args, **kwargs):
 
     def __init__(self, *args, **kwargs):
-        self.offre_emploi = kwargs.pop('offre_emploi')     
+        self.offre_emploi = kwargs.pop('offre_id')
         super(PostulerOffreEmploiForm, self).__init__(*args, **kwargs)
 
     def save(self, *args, **kwargs): 
         super(PostulerOffreEmploiForm, self).__init__(*args, **kwargs)
 
     def save(self, *args, **kwargs): 
@@ -33,7 +34,7 @@ class PostulerOffreEmploiForm(ModelForm):
         return postulation
 
     class Meta:
         return postulation
 
     class Meta:
-        model = emploi.Candidat   
+        model = Candidat   
         exclude = ('actif', 'offre_emploi',)
         fields = ('nom', 'prenom', 'genre', 'nationalite', 'situation_famille', 
                     'nombre_dependant', 'niveau_diplome', 'employeur_actuel', 
         exclude = ('actif', 'offre_emploi',)
         fields = ('nom', 'prenom', 'genre', 'nationalite', 'situation_famille', 
                     'nombre_dependant', 'niveau_diplome', 'employeur_actuel', 
diff --git a/auf/django/emploi/templates/emploi/pieces.html b/auf/django/emploi/templates/emploi/pieces.html
new file mode 100644 (file)
index 0000000..d8587d7
--- /dev/null
@@ -0,0 +1,30 @@
+<table>
+    {% for f in piecesForm.management_form %}
+        {{ f }}
+    {% endfor %}
+    <tr>  
+        <th></th> 
+        {% for field in piecesForm.forms.0 %}
+            {% if not field.is_hidden %}
+                <th>{{ field.label }}</th>
+            {% endif %}
+        {% endfor %}
+    </tr>
+    {% for f in piecesForm.forms %}
+    <tr>
+        <td>
+            {{ f.errors }}
+            {% if f.initial.fichier %}
+                <a href="{{ f.initial.fichier.url }}" target="_blank">Télécharger</a>
+            {% endif %}
+        </td>
+        {% for field in f %} 
+            {% if not field.is_hidden %}
+                <td>{{ field }}</td>
+            {% else %}
+                {{ field }}
+            {% endif %}
+        {% endfor %}
+    </tr>
+    {% endfor %}
+</table>
diff --git a/auf/django/emploi/templates/emploi/postuler_appel_offre.html b/auf/django/emploi/templates/emploi/postuler_appel_offre.html
new file mode 100644 (file)
index 0000000..f6931be
--- /dev/null
@@ -0,0 +1,123 @@
+{% extends "base.html" %}
+{% block Contenu%}
+
+<div id="content-main">
+    {% block object-tools %}{% endblock %}
+
+    <h1>Poster pour un appel d'offre d'emploi</h1>
+
+    <form action="" method="post" enctype="multipart/form-data">
+        <fieldset>
+            <h2>Informations personnelles</h2>
+            <table id="informations_personnelles">
+                <tbody>
+                <tr>
+                    <td>{{ form.prenom.label }}</td>
+                    <td>{{ form.prenom }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.nom.label }}</td>
+                    <td>{{ form.nom }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.genre.label }}</td>
+                    <td>{{ form.genre }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.nationalite.label }}</td>
+                    <td>{{ form.nationalite }}</td>
+                <tr>
+                    <td>{{ form.situation_famille.label }}</td>
+                    <td>{{ form.situation_famille }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.nombre_dependant.label }}</td>
+                    <td>{{ form.nombre_dependant }}<br />
+                        <span class="info">{{ form.nombre_dependant.help_text }}</span>
+                    </td>
+                </tr>
+                </tbody>
+            </table>            
+        </fieldset>
+        <fieldset>
+            <h2>Coordonnées</h2>
+            <table id="coordonnees">
+                <tbody>
+                <tr>
+                    <td>{{ form.telephone.label }}</td>
+                    <td>{{ form.telephone }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.email.label }}</td>
+                    <td>{{ form.email }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.adresse.label }}</td>
+                    <td>{{ form.adresse }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.ville.label }}</td>
+                    <td>{{ form.ville }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.etat_province.label }}</td>
+                    <td>{{ form.etat_province }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.code_postal.label }}</td>
+                    <td>{{ form.code_postal }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.pays.label }}</td>
+                    <td>{{ form.pays }}</td>
+                </tr>
+                </tbody>
+            </table>
+        </fieldset>
+        <fieldset>
+            <h2>Informations professionnelles</h2>
+            <table id="informations_professionnelles">
+                <tbody>
+                <tr>
+                    <td>{{ form.niveau_diplome.label }}</td>
+                    <td>{{ form.niveau_diplome }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.employeur_actuel.label }}</td>
+                    <td>{{ form.employeur_actuel }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.poste_actuel.label }}</td>
+                    <td>{{ form.poste_actuel }}</td>
+                </tr>
+                <tr>
+                    <td>{{ form.domaine_professionnel.label }}</td>
+                    <td>{{ form.domaine_professionnel }}</td>
+                </tr>
+                </tbody>
+            </table>
+        </fieldset>
+        <fieldset>
+            <h2>Pièces jointes</h2>
+            <p class="info">CV, lettre de motivation...</p>
+            {% include "recrutement/pieces.html" %}
+        </fieldset>
+        <fieldset>
+            <h2>Vérification CAPTCHA</h2>
+            <p class="info">Entrez les caractères figurant dans l'image ci-dessous.</p>
+                <tr>
+                    <td>
+                        {{ form.captcha }}
+                        {{ form.captcha.errors }}
+                    </td>
+                </tr>
+        </fieldset>
+        <div class="submit-row">
+            <input type="submit" name="save" value="Enregistrer" />
+        </div>
+    </form>
+
+
+</div>
+
+{% endblock %}
diff --git a/auf/django/emploi/templates/recrutement/pieces.html b/auf/django/emploi/templates/recrutement/pieces.html
deleted file mode 100644 (file)
index d8587d7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<table>
-    {% for f in piecesForm.management_form %}
-        {{ f }}
-    {% endfor %}
-    <tr>  
-        <th></th> 
-        {% for field in piecesForm.forms.0 %}
-            {% if not field.is_hidden %}
-                <th>{{ field.label }}</th>
-            {% endif %}
-        {% endfor %}
-    </tr>
-    {% for f in piecesForm.forms %}
-    <tr>
-        <td>
-            {{ f.errors }}
-            {% if f.initial.fichier %}
-                <a href="{{ f.initial.fichier.url }}" target="_blank">Télécharger</a>
-            {% endif %}
-        </td>
-        {% for field in f %} 
-            {% if not field.is_hidden %}
-                <td>{{ field }}</td>
-            {% else %}
-                {{ field }}
-            {% endif %}
-        {% endfor %}
-    </tr>
-    {% endfor %}
-</table>
diff --git a/auf/django/emploi/templates/recrutement/postuler_appel_offre.html b/auf/django/emploi/templates/recrutement/postuler_appel_offre.html
deleted file mode 100644 (file)
index 53569f0..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-{% extends 'base.html' %}
-{% load adminmedia %}
-
-{% block title %}RH{% endblock %}
-{% block titre %}Ressources humaines{% endblock %}
-{% block sous_titre %}Accueil{% endblock %}
-
-{% block main %}
-<div id="content-main">
-    {% block object-tools %}{% endblock %}
-
-
-
-
-    <div class="module">
-    <h2>Poster pour un appel d'offre d'emploi</h2>
-    </div>
-       
-    <form action="" method="post" enctype="multipart/form-data">
-        <fieldset>
-            <h2>Informations personnelles</h2>
-            <table id="informations_personnelles">
-                <tbody>
-                <tr>
-                    <td>{{ form.prenom.label }}</td>
-                    <td>{{ form.prenom }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.nom.label }}</td>
-                    <td>{{ form.nom }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.genre.label }}</td>
-                    <td>{{ form.genre }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.nationalite.label }}</td>
-                    <td>{{ form.nationalite }}</td>
-                <tr>
-                    <td>{{ form.situation_famille.label }}</td>
-                    <td>{{ form.situation_famille }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.nombre_dependant.label }}</td>
-                    <td>{{ form.nombre_dependant }}<br />
-                        <span class="info">{{ form.nombre_dependant.help_text }}
-                        </span>
-                    </td>
-                </tr>
-                </tbody>
-            </table>            
-        </fieldset>
-        <fieldset>
-            <h2>Coordonnées</h2>
-            <table id="coordonnees">
-                <tbody>
-                <tr>
-                    <td>{{ form.telephone.label }}</td>
-                    <td>{{ form.telephone }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.email.label }}</td>
-                    <td>{{ form.email }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.adresse.label }}</td>
-                    <td>{{ form.adresse }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.ville.label }}</td>
-                    <td>{{ form.ville }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.etat_province.label }}</td>
-                    <td>{{ form.etat_province }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.code_postal.label }}</td>
-                    <td>{{ form.code_postal }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.pays.label }}</td>
-                    <td>{{ form.pays }}</td>
-                </tr>
-                </tbody>
-            </table>
-        </fieldset>
-        <fieldset>
-            <h2>Informations professionnelles</h2>
-            <table id="informations_professionnelles">
-                <tbody>
-                <tr>
-                    <td>{{ form.niveau_diplome.label }}</td>
-                    <td>{{ form.niveau_diplome }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.employeur_actuel.label }}</td>
-                    <td>{{ form.employeur_actuel }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.poste_actuel.label }}</td>
-                    <td>{{ form.poste_actuel }}</td>
-                </tr>
-                <tr>
-                    <td>{{ form.domaine_professionnel.label }}</td>
-                    <td>{{ form.domaine_professionnel }}</td>
-                </tr>
-                </tbody>
-            </table>
-        </fieldset>
-        <fieldset>
-            <h2>Pièces jointes</h2>
-            <p class="info">CV, lettre de motivation...</p>
-            {% include "recrutement/pieces.html" %}
-        </fieldset>
-        <fieldset>
-            <h2>Vérification CAPTCHA</h2>
-            <p class="info">Entrez les caractères figurant dans l'image ci-dessous.</p>
-                <tr>
-                    <td>
-                        {{ form.captcha }}
-                        {{ form.captcha.errors }}
-                    </td>
-                </tr>
-        </fieldset>
-        <div class="submit-row">
-            <input type="submit" name="save" value="Enregistrer" />
-        </div>
-    </form>
-
-
-
-</div>
-
-{% endblock %}