Débug de pièces jointes
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Tue, 9 Aug 2011 21:05:22 +0000 (17:05 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Tue, 9 Aug 2011 21:05:22 +0000 (17:05 -0400)
auf/django/emploi/api.py
auf/django/emploi/forms.py
auf/django/emploi/models.py

index 61d049c..1fc1987 100644 (file)
@@ -4,12 +4,17 @@ from django.template import Context, RequestContext
 
 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 restkit import Resource
 from httplib2 import Http
 from urllib import urlencode
 import datamaster_modeles.models as ref
+from poster.encode import MultipartParam
+from poster.encode import multipart_encode
+import urllib2
+
+
+STATUS_OK = '200 OK'
 
 class API:
     def __init__(self, request):
@@ -74,7 +79,14 @@ class API:
     def candidat_add(self, offre_id):
         url = "http://127.0.0.1:8000/api/candidat_add/%s" % offre_id
         r = Resource(url)
-        resp = r.post(payload=self.request.POST)
-        return resp.status    
-
+        import pdb;pdb.set_trace()
+        mp = MultipartParam.from_file('cv', self.request.POST.get('candidat_piece-0-nom'))
+        import pdb;pdb.set_trace()
+        datagen, headers = multipart_encode([image_param])
+        import pdb;pdb.set_trace()
+        resp = r.post(payload=self.request.FILES, params_dict=self.request.POST)
+        if resp.status == STATUS_OK:
+            candidat_id = simplejson.loads(resp.body_string())['candidat_id']
+            return candidat_id
+        return None
         
index 79338eb..7a4a9e3 100644 (file)
@@ -17,6 +17,13 @@ class CandidatPieceForm(inlineformset_factory(Candidat,
     nom = forms.MultipleChoiceField(choices=TYPE_PIECE_CHOICES,
             widget=CheckboxSelectMultiple)
 
+    def __init__(self, *args, **kwargs):
+        super(CandidatPieceForm, self).__init__(*args, **kwargs)
+    
+    def save(self, *args, **kwargs):
+        super(CandidatPieceForm, self).save(*args, **kwargs)
+
+
 class PostulerOffreEmploiForm(ModelForm):
     captcha = CaptchaField()
     action = "http://127.0.0.1:8000/api/candidat_add/"
index fcf5810..35a0851 100755 (executable)
@@ -75,13 +75,13 @@ class OffreEmploi(Metadata):
                         help_text=HELP_TEXT_EN_AFFICHAGE)
     statut = models.CharField(max_length=4, choices=STATUT_OFFRE_EMPLOI_CHOICES,
                                 default='NOUV')
+    date_limite = models.DateField(verbose_name="Date limite",
+                        help_text=HELP_TEXT_FORMAT_DATE,)  
     nom = models.CharField(max_length=255)
     resume = models.TextField(verbose_name="Résumé", blank=True)
     description = models.TextField()
     poste = models.CharField(max_length=255)
     poste_nom = models.CharField(max_length=255)
-    date_limite = models.DateField(verbose_name="Date limite",
-                        help_text=HELP_TEXT_FORMAT_DATE,)  
     region = models.ForeignKey(ref.Region, db_column='region', 
                 verbose_name="Région")
     bureau = models.ForeignKey(ref.Bureau, db_column='bureau', )
@@ -151,9 +151,8 @@ storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT,
                             base_url=settings.PRIVE_MEDIA_URL)
 
 def candidat_piece_dispatch(instance, filename):
-    path = u'%s/%s/%s_%s_%s/%s/%s' % ('emplois', instance.candidat.offre_emploi.id,
-            instance.candidat.nom, instance.candidat.prenom, instance.candidat.id, 
-            instance.nom, filename)
+    path = u'%s/%s_%s_%s/%s/%s' % ('emplois', instance.candidat.nom, 
+        instance.candidat.prenom, instance.candidat.id, instance.nom, filename)
     return path
 
 class CandidatPiece(models.Model):