diff options
Diffstat (limited to 'core/views')
-rw-r--r-- | core/views/caves.py | 32 | ||||
-rw-r--r-- | core/views/survex.py | 4 |
2 files changed, 28 insertions, 8 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()]}) diff --git a/core/views/survex.py b/core/views/survex.py index 9b6fc18..a3ff5bd 100644 --- a/core/views/survex.py +++ b/core/views/survex.py @@ -418,14 +418,14 @@ def survexcavesingle(request, survex_cave): return render(request, 'svxcavesingle.html', {'settings': settings, "cave":cave }) except ObjectDoesNotExist: continue # next attempt in for loop - return render(request, 'svxcavesingle404.html', {'settings': settings, "cave":sc }) + return render(request, 'errors/svxcavesingle404.html', {'settings': settings, "cave":sc }) except MultipleObjectsReturned: caves = Cave.objects.filter(kataster_number=survex_cave) return render(request, 'svxcaveseveral.html', {'settings': settings, "caves":caves }) except: - return render(request, 'svxcavesingle404.html', {'settings': settings, "cave":sc }) + return render(request, 'errors/svxcavesingle404.html', {'settings': settings, "cave":sc }) def check_cave_registered(area, survex_cave): |