diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-31 15:31:30 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-31 15:31:30 +0100 |
| commit | f25285634613ff5beeb0c360d817835738e72b40 (patch) | |
| tree | a63fcd260fe641ea27f74291ca2ed36e6a816a74 /chimere/views.py | |
| parent | b845195fda9c4e9fb79c3f6272d8de202822f57e (diff) | |
| download | Chimère-f25285634613ff5beeb0c360d817835738e72b40.tar.bz2 Chimère-f25285634613ff5beeb0c360d817835738e72b40.zip | |
JS: preload icon images
Diffstat (limited to 'chimere/views.py')
| -rw-r--r-- | chimere/views.py | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/chimere/views.py b/chimere/views.py index edd0ac4..03f75a6 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -39,7 +39,7 @@ from django.db.models import Q from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import redirect, render_to_response from django.template import loader, RequestContext, defaultfilters -from django.utils import simplejson +from django.utils import simplejson as json from django.utils.http import urlquote from django.utils.translation import ugettext as _ @@ -380,7 +380,7 @@ def processRouteFile(request, area_name='', file_id=None): route = route_file.route if not route: return HttpResponse(status=500) - return HttpResponse('('+simplejson.dumps({'wkt':route, + return HttpResponse('(' + json.dumps({'wkt':route, 'file_id':file_id})+')', 'application/javascript', status=200) except OSError as e: @@ -605,10 +605,28 @@ def getGeoObjects(request, area_name, category_ids, status): data = '{"type": "FeatureCollection", "features":[%s]}' % ",".join(jsons) return HttpResponse(data) +def get_all_categories(request, area_name=None): + ''' + Get all available categories in JSON + ''' + context_data, redir = get_base_response(area_name) + area = context_data["area"] + subcategories = [] + if area: + subcategories = list(area.getCategories('A', + area_name=context_data['area_name'])) + else: + categories = SubCategory.getAvailable() + for cat, subcats in categories: + subcategories += subcats + subcats = [subcat.getJSONDict() for subcat in subcategories] + jsons = json.dumps({'categories':subcats}) + return HttpResponse(jsons) + def get_available_categories(request, area_name=None, area=None, status='A', force=None): ''' - Get categories for a designed area + Get category menu for a designed area ''' context_data, redir = get_base_response(area_name) area = context_data["area"] @@ -718,7 +736,7 @@ def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2, transport=transport, speed=speed) if not jsons: return HttpResponse('no results') - jsonencoder = simplejson.JSONEncoder() + jsonencoder = json.JSONEncoder() total = jsonencoder.encode(total) desc = jsonencoder.encode(desc) |
