fix unicode for QBE introspection
[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 import datamaster_modeles.models as ref
10
11 class API:
12 def __init__(self, request):
13 self.request = request
14
15 def offre_emploi_liste(self):
16 url = "http://127.0.0.1:8000/api/offre_emploi_liste/"
17 r = req(url)
18 liste_json = r.body_string()
19 liste_offres = simplejson.loads(liste_json)
20 obj_offres_emploi = []
21
22 for offre_dict in liste_offres:
23 offre = emploi.OffreEmploi()
24 offre.est_affiche = offre_dict['est_affiche']
25 offre.statut = offre_dict['statut']
26 offre.nom = offre_dict['nom']
27 offre.resume = offre_dict['resume']
28 offre.description = offre_dict['description']
29 offre.poste_nom = offre_dict['poste_nom']
30 offre.date_limite = offre_dict['date_limite']
31 offre.region = ref.Region.objects.get(id=offre_dict['region'])
32 offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
33 offre.duree_affectation = offre_dict['duree_affectation']
34 offre.renumeration = offre_dict['renumeration']
35 offre.debut_affectation = offre_dict['debut_affectation']
36 offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
37 obj_offres_emploi.append(offre)
38 return obj_offres_emploi
39
40 def offre_emploi(self, offre_id):
41 url = "http://127.0.0.1:8000/api/offre_emploi/?id=%s"
42 r = req(url % (offre_id))
43 offre_json = r.body_string()
44 offre_dict = simplejson.loads(offre_json)
45 obj_offres_emploi = []
46
47 offre = emploi.OffreEmploi()
48 offre.est_affiche = offre_dict['est_affiche']
49 offre.statut = offre_dict['statut']
50 offre.nom = offre_dict['nom']
51 offre.resume = offre_dict['resume']
52 offre.description = offre_dict['description']
53 offre.poste_nom = offre_dict['poste_nom']
54 offre.date_limite = offre_dict['date_limite']
55 offre.region = ref.Region.objects.get(id=offre_dict['region'])
56 offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
57 offre.duree_affectation = offre_dict['duree_affectation']
58 offre.renumeration = offre_dict['renumeration']
59 offre.debut_affectation = offre_dict['debut_affectation']
60 offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
61 obj_offres_emploi.append(offre)
62 return obj_offres_emploi
63
64 def candidat_add(self, offre_id):
65 url = "http://127.0.0.1:8000/api/candidat_add/?id=%s" % (offre_id)
66 return redirect(url)
67
68