1908: Cleaning code
[auf_rh_dae.git] / src / auf.django.emploi / auf / django / emploi / api.py
CommitLineData
f77f4b9b
NBV
1# -*- encoding: utf-8 -*
2from django.shortcuts import render_to_response, redirect, get_object_or_404
d46075cb 3from django.template import Context, RequestContext
f77f4b9b
NBV
4
5from django.utils import simplejson
6from auf.django.emploi import models as emploi
7from auf.django.emploi import forms as emploiForms
14e06ff6 8from restkit import request as req
43198a9f
NBV
9from restkit import Resource
10from httplib2 import Http
11from urllib import urlencode
d46075cb 12import datamaster_modeles.models as ref
f77f4b9b
NBV
13
14class API:
15 def __init__(self, request):
16 self.request = request
17
18 def offre_emploi_liste(self):
b8b74dee 19 url = "http://127.0.0.1:8000/api/offre_emploi_liste/"
14e06ff6 20 r = req(url)
f77f4b9b 21 liste_json = r.body_string()
13b8a64e
NBV
22 try:
23 liste_offres = simplejson.loads(liste_json)
24 except:
25 return []
f77f4b9b
NBV
26 obj_offres_emploi = []
27
28 for offre_dict in liste_offres:
29 offre = emploi.OffreEmploi()
8e0d552d
NBV
30 offre.est_affiche = offre_dict['est_affiche']
31 offre.statut = offre_dict['statut']
f77f4b9b
NBV
32 offre.nom = offre_dict['nom']
33 offre.resume = offre_dict['resume']
34 offre.description = offre_dict['description']
e2968e84 35 offre.poste_nom = offre_dict['poste_nom']
d46075cb
NBV
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'])
f77f4b9b
NBV
39 offre.duree_affectation = offre_dict['duree_affectation']
40 offre.renumeration = offre_dict['renumeration']
41 offre.debut_affectation = offre_dict['debut_affectation']
d46075cb 42 offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
f77f4b9b
NBV
43 obj_offres_emploi.append(offre)
44 return obj_offres_emploi
45
46 def offre_emploi(self, offre_id):
b8b74dee 47 url = "http://127.0.0.1:8000/api/offre_emploi/?id=%s"
14e06ff6 48 r = req(url % (offre_id))
f77f4b9b 49 offre_json = r.body_string()
13b8a64e
NBV
50
51 try:
52 offre_dict = simplejson.loads(offre_json)
53 except:
54 return []
d46075cb 55 obj_offres_emploi = []
f77f4b9b 56
d46075cb 57 offre = emploi.OffreEmploi()
8e0d552d
NBV
58 offre.est_affiche = offre_dict['est_affiche']
59 offre.statut = offre_dict['statut']
d46075cb
NBV
60 offre.nom = offre_dict['nom']
61 offre.resume = offre_dict['resume']
62 offre.description = offre_dict['description']
e2968e84 63 offre.poste_nom = offre_dict['poste_nom']
d46075cb
NBV
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):
43198a9f
NBV
75 url = "http://127.0.0.1:8000/api/candidat_add/%s" % offre_id
76 r = Resource(url)
43198a9f 77 resp = r.post(payload=self.request.POST)
43198a9f 78 return resp.status
f77f4b9b 79
d46075cb 80