summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-15 20:10:57 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-22 02:04:25 +0200
commitc107a69ca98f5be7893cbe2a03e84cfaae1b9ca9 (patch)
treed5de22ae39e2dce2bb0067450aecdb8f3df6f302 /chimere/views.py
parentd1834d853739383585f2ad0a99afb606c1f16978 (diff)
downloadChimère-c107a69ca98f5be7893cbe2a03e84cfaae1b9ca9.tar.bz2
Chimère-c107a69ca98f5be7893cbe2a03e84cfaae1b9ca9.zip
Improve routing: manage steps
* Manage steps in routing core * Add extra parameters for steps in urls.py * Modify the view to parse steps and send them to the routing core * Manage steps in JS (add many step flags and send a correct request to the view) * Manage a clear itinerary action in JS * Add a new flag image for steps * CSS improvement
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/chimere/views.py b/chimere/views.py
index ad4b0ca..df403e0 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -638,17 +638,21 @@ def redirectFromTinyURN(request, area_name='', tiny_urn=''):
return redir
return HttpResponseRedirect(response_dct['extra_url'] + parameters)
-def route(request, area_name, lon1, lat1, lon2, lat2, transport='foot'):
+def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
+ transport='foot'):
'''
Get the JSON for a route
'''
try:
lon1, lat1 = float(lon1), float(lat1)
lon2, lat2 = float(lon2), float(lat2)
+ steps = [float(lonlat) for lonlat in lonlat_steps.split('_') if lonlat]
+ # regroup by 2
+ steps = [(steps[i*2], steps[i*2+1]) for i in range(len(steps)/2)]
except ValueError:
return HttpResponse('no results')
- jsons, desc = router.route(lon1, lat1, lon2, lat2, transport=transport,
- session_id=request.session.session_key)
+ jsons, desc = router.route(lon1, lat1, lon2, lat2, steps=steps,
+ transport=transport)
if not jsons:
return HttpResponse('no results')
jsonencoder = simplejson.JSONEncoder()