summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 5f0594b..8c41a7f 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -75,6 +75,22 @@ def get_base_uri(request):
# TODO: convert to requestcontext
+def get_area(area_name=""):
+ area = None
+ if area_name:
+ try:
+ area = Area.objects.get(urn=area_name, available=True)
+ except ObjectDoesNotExist:
+ pass
+ if not area:
+ try:
+ area = Area.objects.get(default=True)
+ area_name = area.urn
+ except ObjectDoesNotExist:
+ pass
+ return area, area_name
+
+
def get_base_response(request, area_name=""):
"""
Get the base url
@@ -99,18 +115,7 @@ def get_base_response(request, area_name=""):
base_url += '/'
base_url += area_name + '/'
base_response_dct['extra_url'] = base_url
- area = None
- if area_name:
- try:
- area = Area.objects.get(urn=area_name, available=True)
- except ObjectDoesNotExist:
- return None, redirect(reverse('chimere:index'))
- else:
- try:
- area = Area.objects.get(default=True)
- area_name = area.urn
- except ObjectDoesNotExist:
- pass
+ area, area_name = get_area(area_name)
base_response_dct['area'] = area
base_response_dct['area_name'] = area_name