diff options
Diffstat (limited to 'core/views/caves.py')
-rw-r--r-- | core/views/caves.py | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/core/views/caves.py b/core/views/caves.py index 2ec7935..bc65219 100644 --- a/core/views/caves.py +++ b/core/views/caves.py @@ -294,14 +294,22 @@ def caveEntrance(request, slug): return render(request,'cave_entrances.html', {'cave': cave}) def caveDescription(request, slug): - cave = Cave.objects.get(caveslug__slug = slug) + try: + cave = Cave.objects.get(caveslug__slug = slug) + except: + return render(request,'errors/badslug.html', {'badslug': slug}) + if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated: return render(request,'nonpublic.html', {'instance': cave}) else: return render(request,'cave_uground_description.html', {'cave': cave}) def caveQMs(request, slug): - cave = Cave.objects.get(caveslug__slug = slug) + try: + cave = Cave.objects.get(caveslug__slug = slug) + except: + return render(request,'errors/badslug.html', {'badslug': slug}) + if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated: return render(request,'nonpublic.html', {'instance': cave}) else: @@ -316,7 +324,10 @@ def edit_cave(request, slug=None): ''' message = "" if slug is not None: - cave = Cave.objects.get(caveslug__slug = slug) + try: + cave = Cave.objects.get(caveslug__slug = slug) + except: + return render(request,'errors/badslug.html', {'badslug': slug}) else: cave = Cave() if request.POST: @@ -375,7 +386,10 @@ def edit_entrance(request, caveslug=None, slug=None): ''' message = "" if caveslug is not None: - cave = Cave.objects.get(caveslug__slug = caveslug) + try: + cave = Cave.objects.get(caveslug__slug = caveslug) + except: + return render(request,'errors/badslug.html', {'badslug': caveslug}) else: cave = Cave() if slug is not None: @@ -460,9 +474,15 @@ def surveyindex(request): return render(request,'survey.html',locals()) def get_entrances(request, caveslug): - cave = Cave.objects.get(caveslug__slug = caveslug) + try: + cave = Cave.objects.get(caveslug__slug = caveslug) + except: + return render(request,'errors/badslug.html', {'badslug': caveslug}) return render(request,'options.html', {"items": [(e.entrance.slug(), e.entrance.slug()) for e in cave.entrances()]}) def get_qms(request, caveslug): - cave = Cave.objects.get(caveslug__slug = caveslug) + try: + cave = Cave.objects.get(caveslug__slug = caveslug) + except: + return render(request,'errors/badslug.html', {'badslug': caveslug}) return render(request,'options.html', {"items": [(e.entrance.slug(), e.entrance.slug()) for e in cave.entrances()]}) |