summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-04-25 16:43:20 +0000
committeretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-04-25 16:43:20 +0000
commit1900a5b68bcb376a420a6e580a4b74a248c5efc6 (patch)
tree10cfae7c3ee4d1f9e0656cff2206757c4f079a41
parent8af735d9ef047b1b858dfb089b100cd1a412ac14 (diff)
downloadChimère-1900a5b68bcb376a420a6e580a4b74a248c5efc6.tar.bz2
Chimère-1900a5b68bcb376a420a6e580a4b74a248c5efc6.zip
Correct url resolution - #97
git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@81 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864
-rw-r--r--chimere/main/views.py12
-rw-r--r--chimere/urls.py25
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<area_name>%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<marker_id>\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<marker_id>\d+)/$', 'getDetail', default_dct),
(base + extra + r'getDescriptionDetail/(?P<category_id>\d+)/$',
- 'getDescriptionDetail'),
+ 'getDescriptionDetail', default_dct),
(base + extra + r'getGeoObjects/(?P<category_ids>\w+)(/(?P<status>\w+))?$',
- 'getGeoObjects'),
+ 'getGeoObjects', default_dct),
(base + extra + r'getAvailableCategories/(?P<area>\w+)(/(?P<status>\w+))?(/(?P<force>\w+))?$',
- 'getAvailableCategories'),
-(base + extra + r'getTinyUrl/(.*)$', 'getTinyfiedUrl'),
-(base + extra + r'ty/(\w+)$', 'redirectFromTinyURN'),
+ 'getAvailableCategories', default_dct),
+(base + extra + r'getTinyUrl/(?P<parameters>.*)$', 'getTinyfiedUrl', default_dct),
+(base + extra + r'ty/(?P<tiny_urn>\w+)$', 'redirectFromTinyURN', default_dct),
)