1880: paquet emploi - API - logique de génération de la liste des offres d'emploi...
[auf_django_emploi.git] / auf / django / emploi / api.py
1 # -*- encoding: utf-8 -*
2 from django.shortcuts import render_to_response, redirect, get_object_or_404
3 from django.template import Context, RequestContext
4
5 from django.utils import simplejson
6 from auf.django.emploi import models as emploi
7 from auf.django.emploi import forms as emploiForms
8 from restkit import request as req
9 from restkit import Resource
10 from httplib2 import Http
11 from urllib import urlencode
12 import datamaster_modeles.models as ref
13
14 class API:
15 def __init__(self, request):
16 self.request = request
17
18 def offre_emploi_liste(self):
19 url = "http://127.0.0.1:8000/api/offre_emploi_liste/"
20 r = req(url)
21 liste_json = r.body_string()
22 try:
23 liste_offres = simplejson.loads(liste_json)
24 except:
25 return []
26 obj_offres_emploi = []
27
28 for offre_dict in liste_offres:
29 offre = emploi.OffreEmploi()
30 offre.est_affiche = offre_dict['est_affiche']
31 offre.statut = offre_dict['statut']
32 offre.nom = offre_dict['nom']
33 offre.resume = offre_dict['resume']
34 offre.description = offre_dict['description']
35 offre.poste_nom = offre_dict['poste_nom']
36 offre.date_limite = offre_dict['date_limite']
37 offre.region = ref.Region.objects.get(id=offre_dict['region'])
38 offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
39 offre.duree_affectation = offre_dict['duree_affectation']
40 offre.renumeration = offre_dict['renumeration']
41 offre.debut_affectation = offre_dict['debut_affectation']
42 offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
43 obj_offres_emploi.append(offre)
44 return obj_offres_emploi
45
46 def offre_emploi(self, offre_id):
47 url = "http://127.0.0.1:8000/api/offre_emploi/?id=%s"
48 r = req(url % (offre_id))
49 offre_json = r.body_string()
50
51 try:
52 offre_dict = simplejson.loads(offre_json)
53 except:
54 return []
55 obj_offres_emploi = []
56
57 offre = emploi.OffreEmploi()
58 offre.est_affiche = offre_dict['est_affiche']
59 offre.statut = offre_dict['statut']
60 offre.nom = offre_dict['nom']
61 offre.resume = offre_dict['resume']
62 offre.description = offre_dict['description']
63 offre.poste_nom = offre_dict['poste_nom']
64 offre.date_limite = offre_dict['date_limite']
65 offre.region = ref.Region.objects.get(id=offre_dict['region'])
66 offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
67 offre.duree_affectation = offre_dict['duree_affectation']
68 offre.renumeration = offre_dict['renumeration']
69 offre.debut_affectation = offre_dict['debut_affectation']
70 offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
71 obj_offres_emploi.append(offre)
72 return obj_offres_emploi
73
74 def candidat_add(self, offre_id):
75 url = "http://127.0.0.1:8000/api/candidat_add/%s" % offre_id
76 r = Resource(url)
77 resp = r.post(payload=self.request.POST)
78 return resp.status
79
80