Débug de pièces jointes
[auf_django_emploi.git] / auf / django / emploi / api.py
index a9478de..1fc1987 100644 (file)
@@ -1,59 +1,92 @@
 # -*- encoding: utf-8 -*
 from django.shortcuts import render_to_response, redirect, get_object_or_404
+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):
         self.request = request
 
     def offre_emploi_liste(self):
-        url = "http://127.0.0.1:8080/api/offre_emploi_liste/"
+        url = "http://127.0.0.1:8000/api/offre_emploi_liste/"
         r = req(url)
         liste_json = r.body_string()
-        liste_offres = simplejson.loads(liste_json)
+        try:
+            liste_offres = simplejson.loads(liste_json)
+        except:
+            return []
         obj_offres_emploi = []
 
         for offre_dict in liste_offres:
             offre = emploi.OffreEmploi()
-            #offre.est_affiche = offre_dict['est_affiche']
-            #offre.statut = offre_dict['statut']
+            offre.est_affiche = offre_dict['est_affiche']
+            offre.statut = offre_dict['statut']
             offre.nom = offre_dict['nom']
             offre.resume = offre_dict['resume']
             offre.description = offre_dict['description']
-            #offre.poste = offre_dict['poste']
-            offre.date_limite = offre_dict['date_limite']
-            #offre.region = offre_dict['region']
-            #offre.bureau = offre_dict['bureau']
+            offre.poste_nom = offre_dict['poste_nom']
+            offre.date_limite = offre_dict['date_limite'] 
+            offre.region = ref.Region.objects.get(id=offre_dict['region'])
+            offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
             offre.duree_affectation = offre_dict['duree_affectation']
             offre.renumeration = offre_dict['renumeration']
             offre.debut_affectation = offre_dict['debut_affectation']
-            #offre.lieu_affectation = offre_dict['lieu_affectation']        
+            offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
             obj_offres_emploi.append(offre)  
         return obj_offres_emploi
 
     def offre_emploi(self, offre_id):
-        url = "/call/offre_emploi/%s"
+        url = "http://127.0.0.1:8000/api/offre_emploi/?id=%s"
         r = req(url % (offre_id))
         offre_json = r.body_string()
-        offre_dict = simplejson.loads(offre_json)
-
-        obj_offre = emploi.OffreEmploi()
-        obj_offre.est_affiche = offre_dict('est_affiche')
-        obj_offre.statut = offre_dict('statut')
-        obj_offre.nom = offre_dict('nom')
-        obj_offre.resume = offre_dict('resume')
-        obj_offre.description = offre_dict('description')
-        #obj_offre.poste = offre_dict('poste')
-        obj_offre.date_limite = offre_dict('date_limite')
-        obj_offre.region = offre_dict('region')
-        obj_offre.bureau = offre_dict('bureau')
-        obj_offre.duree_affectation = offre_dict('duree_affectation')
-        obj_offre.renumeration = offre_dict('renumeration')
-        obj_offre.debut_affectation = offre_dict('debut_affectation')
-        obj_offre.lieu_affectation = offre_dict('lieu_affectation')
-        return obj_offre
 
+        try:
+            offre_dict = simplejson.loads(offre_json)
+        except:
+            return []
+        obj_offres_emploi = []
+
+        offre = emploi.OffreEmploi()
+        offre.est_affiche = offre_dict['est_affiche']
+        offre.statut = offre_dict['statut']
+        offre.nom = offre_dict['nom']
+        offre.resume = offre_dict['resume']
+        offre.description = offre_dict['description']
+        offre.poste_nom = offre_dict['poste_nom']
+        offre.date_limite = offre_dict['date_limite']
+        offre.region = ref.Region.objects.get(id=offre_dict['region'])
+        offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
+        offre.duree_affectation = offre_dict['duree_affectation']
+        offre.renumeration = offre_dict['renumeration']
+        offre.debut_affectation = offre_dict['debut_affectation']
+        offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
+        obj_offres_emploi.append(offre)
+        return obj_offres_emploi
+
+    def candidat_add(self, offre_id):
+        url = "http://127.0.0.1:8000/api/candidat_add/%s" % offre_id
+        r = Resource(url)
+        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
+