diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2021-04-01 20:08:57 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2021-04-01 20:08:57 +0100 |
commit | f752f934b65d77e9e0f1fb7161d8ec8144fa8887 (patch) | |
tree | f4fbe5d42ec470939cd6c42259fe7f9264a607a0 /core | |
parent | 573dba47120ae462bd638014453d1688e9a578f3 (diff) | |
download | troggle-f752f934b65d77e9e0f1fb7161d8ec8144fa8887.tar.gz troggle-f752f934b65d77e9e0f1fb7161d8ec8144fa8887.tar.bz2 troggle-f752f934b65d77e9e0f1fb7161d8ec8144fa8887.zip |
fix cave description view
Diffstat (limited to 'core')
-rw-r--r-- | core/views/caves.py | 47 |
1 files changed, 35 insertions, 12 deletions
diff --git a/core/views/caves.py b/core/views/caves.py index 390d8f7..2a1e726 100644 --- a/core/views/caves.py +++ b/core/views/caves.py @@ -137,6 +137,35 @@ def cave3d(request, cave_id=''): # You can also set any other required headers: Cache-Control, etc. return response +def cavepage(request, karea, subpath): + '''Displays a cave description page''' + path = karea + subpath + print(" ! cavepage:'{}' kataster area:'{}' rest of path:'{}'".format(path, karea, subpath)) + + try: + cave = Cave.objects.get(url = path) # ideally this will be unique + slug = cave.slug() + print(" - cavepage:'{}' cave:'{}' cave-slug:'{}'".format(path, str(cave), slug)) + #cave = Cave.objects.get(caveslug__slug = slug) + if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated(): + return render(request,'nonpublic.html', {'instance': cave, 'cave_editable': slug}) + else: + return render(request,'cave.html', {'cave': cave, 'cave_editable': slug}) + except Cave.DoesNotExist: + return render(request, 'pagenotfound.html', {'path': path}) + except Cave.MultipleObjectsReturned: + caves = Cave.objects.filter(url = path) + return render(request, 'svxcaveseveral.html', {'settings': settings, "caves":caves }) + except: + return render(request, 'pagenotfound.html', {'path': path}) + +def caveSlug(request, slug): + cave = Cave.objects.get(caveslug__slug = slug) + if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated(): + return render(request,'nonpublic.html', {'instance': cave, 'cave_editable': slug}) + else: + return render(request,'cave.html', {'cave': cave, 'cave_editable': slug}) + def cave(request, cave_id='', offical_name=''): try: cave=getCave(cave_id) @@ -173,6 +202,7 @@ def caveQMs(request, slug): return render(request,'nonpublic.html', {'instance': cave}) else: return render(request,'cave_qms.html', {'cave': cave}) + def caveLogbook(request, slug): cave = Cave.objects.get(caveslug__slug = slug) if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated(): @@ -180,13 +210,6 @@ def caveLogbook(request, slug): else: return render(request,'cave_logbook.html', {'cave': cave}) -def caveSlug(request, slug): - cave = Cave.objects.get(caveslug__slug = slug) - if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated(): - return render(request,'nonpublic.html', {'instance': cave, 'cave_editable': slug}) - else: - return render(request,'cave.html', {'cave': cave, 'cave_editable': slug}) - @login_required_if_public def edit_cave(request, slug=None): if slug is not None: @@ -323,7 +346,7 @@ def get_qms(request, caveslug): cave = Cave.objects.get(caveslug__slug = caveslug) return render(request,'options.html', {"items": [(e.entrance.slug(), e.entrance.slug()) for e in cave.entrances()]}) -areanames = [ +AREANAMES = [ #('', 'Location unclear'), ('1a', '1a – Plateau: around Top Camp'), ('1b', '1b – Western plateau near 182'), @@ -351,11 +374,11 @@ areanames = [ def prospecting(request): - #for key, name in areanames: - # print key, Area.objects.get(short_name = key) + #for key, name in AREANAMES: + #print(key, Area.objects.get(short_name = key)) areas = [] - for key, name in areanames: - a = Area.objects.get(short_name = key) + for key, name in AREANAMES: + a = Area.objects.get(short_name = key) # assumes unique caves = list(a.cave_set.all()) caves.sort(key=caveKey) areas.append((name, a, caves)) |