From 3d78c976a48e04153d2fdf73cf23a3ac98b6015f Mon Sep 17 00:00:00 2001 From: Nilovna Bascunan-Vasquez Date: Tue, 9 Aug 2011 17:05:22 -0400 Subject: [PATCH] =?utf8?q?D=C3=A9bug=20de=20pi=C3=A8ces=20jointes?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- auf/django/emploi/api.py | 20 ++++++++++++++++---- auf/django/emploi/forms.py | 7 +++++++ auf/django/emploi/models.py | 9 ++++----- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/auf/django/emploi/api.py b/auf/django/emploi/api.py index 61d049c..1fc1987 100644 --- a/auf/django/emploi/api.py +++ b/auf/django/emploi/api.py @@ -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 diff --git a/auf/django/emploi/forms.py b/auf/django/emploi/forms.py index 79338eb..7a4a9e3 100644 --- a/auf/django/emploi/forms.py +++ b/auf/django/emploi/forms.py @@ -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/" diff --git a/auf/django/emploi/models.py b/auf/django/emploi/models.py index fcf5810..35a0851 100755 --- a/auf/django/emploi/models.py +++ b/auf/django/emploi/models.py @@ -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): -- 1.7.10.4