X-Git-Url: http://git.auf.org/?p=auf_django_emploi.git;a=blobdiff_plain;f=auf%2Fdjango%2Femploi%2Fapi.py;h=1fc19870a2d73bfe2a74ae28c9fc6efb5140fda9;hp=acc9d822de2aae56712f90cd5a436791716690d5;hb=3d78c976a48e04153d2fdf73cf23a3ac98b6015f;hpb=d691a5d3346b410339e67d8a14eff766cd8bface diff --git a/auf/django/emploi/api.py b/auf/django/emploi/api.py index acc9d82..1fc1987 100644 --- a/auf/django/emploi/api.py +++ b/auf/django/emploi/api.py @@ -1,21 +1,33 @@ # -*- 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 recrutement.api import API as api -from restkit import request +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 = "/call/offre_emploi_liste/" - r = request(url) + 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: @@ -25,36 +37,56 @@ class API: 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" - r = request(url % (offre_id)) + 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 +