diff options
Diffstat (limited to 'chimere/views.py')
-rw-r--r-- | chimere/views.py | 29 |
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 |