From 1900a5b68bcb376a420a6e580a4b74a248c5efc6 Mon Sep 17 00:00:00 2001 From: etienne Date: Sun, 25 Apr 2010 16:43:20 +0000 Subject: Correct url resolution - #97 git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@81 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864 --- chimere/main/views.py | 12 ++++++------ chimere/urls.py | 25 ++++++++++++++----------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/chimere/main/views.py b/chimere/main/views.py index f8c93dc..0707caa 100644 --- a/chimere/main/views.py +++ b/chimere/main/views.py @@ -230,7 +230,7 @@ details.") 'contact_form':form, 'message':msg}) return render_to_response('contactus.html', response_dct) -def getDetail(request, marker_id): +def getDetail(request, area_name, marker_id): ''' Get the detail for a marker ''' @@ -246,7 +246,7 @@ def getDetail(request, marker_id): response_dct['simple'] = True return render_to_response('detail.html', response_dct) -def getDescriptionDetail(request, category_id): +def getDescriptionDetail(request, area_name, category_id): ''' Get the description for a category ''' @@ -254,11 +254,11 @@ def getDescriptionDetail(request, category_id): category = Category.objects.filter(id=int(category_id))[0] except (ValueError, IndexError): return HttpResponse('no results') - response_dct = get_base_response() + response_dct = get_base_response(area_name) response_dct['category'] = category return render_to_response('category_detail.html', response_dct) -def getGeoObjects(request, category_ids, status): +def getGeoObjects(request, area_name, category_ids, status): ''' Get the JSON for markers and routes ''' @@ -293,13 +293,13 @@ def getGeoObjects(request, category_ids, status): data = '{"type": "FeatureCollection", "features":[%s]}' % ",".join(jsons) return HttpResponse(data) -def getAvailableCategories(request, area=None, status='A', force=None): +def getAvailableCategories(request, area_name=None, area=None, status='A', force=None): ''' Get categories for a designed area ''' if settings.DYNAMIC_CATEGORIES and not area: return "" - response_dct = get_base_response() + response_dct = get_base_response('area_name') if not settings.DYNAMIC_CATEGORIES: subcategories = SubCategory.getAvailable() response_dct['sub_categories'] = subcategories diff --git a/chimere/urls.py b/chimere/urls.py index 799f03f..804949a 100644 --- a/chimere/urls.py +++ b/chimere/urls.py @@ -56,20 +56,23 @@ for area in url_areas: 'simple':True}),) extra = "|".join([area.urn for area in url_areas]) +default_dct = {} if extra: - extra = "(%s)?/?" % extra + extra = "(?P%s)?/?" % extra +else: + default_dct = {'area_name':''} urlpatterns += patterns('chimere.main.views', -(base + extra + r'contact/$', 'contactus'), -(base + extra + r'edit/$', 'edit'), -(base + extra + r'edit_route/$', 'editRoute'), -(base + extra + r'submited/(\w+)/$', 'submited'), -(base + extra + r'getDetail/(?P\d+)/$', 'getDetail'), +(base + extra + r'contact/$', 'contactus', default_dct), +(base + extra + r'edit/$', 'edit', default_dct), +(base + extra + r'edit_route/$', 'editRoute', default_dct), +(base + extra + r'submited/(\w+)/$', 'submited', default_dct), +(base + extra + r'getDetail/(?P\d+)/$', 'getDetail', default_dct), (base + extra + r'getDescriptionDetail/(?P\d+)/$', - 'getDescriptionDetail'), + 'getDescriptionDetail', default_dct), (base + extra + r'getGeoObjects/(?P\w+)(/(?P\w+))?$', - 'getGeoObjects'), + 'getGeoObjects', default_dct), (base + extra + r'getAvailableCategories/(?P\w+)(/(?P\w+))?(/(?P\w+))?$', - 'getAvailableCategories'), -(base + extra + r'getTinyUrl/(.*)$', 'getTinyfiedUrl'), -(base + extra + r'ty/(\w+)$', 'redirectFromTinyURN'), + 'getAvailableCategories', default_dct), +(base + extra + r'getTinyUrl/(?P.*)$', 'getTinyfiedUrl', default_dct), +(base + extra + r'ty/(?P\w+)$', 'redirectFromTinyURN', default_dct), ) -- cgit v1.2.3