diff options
author | Martin Green <martin.speleo@gmail.com> | 2023-04-30 21:42:03 +0100 |
---|---|---|
committer | Martin Green <martin.speleo@gmail.com> | 2023-04-30 21:42:03 +0100 |
commit | 2ee63a98044718a7f366aee03cac206b720ef5a8 (patch) | |
tree | ea0d38f39b0402256ea9a0309c9dcc27cd645c48 /core/views/caves.py | |
parent | c7b3e8aff0ae5eb447bf214ba012f98bc497c476 (diff) | |
download | troggle-2ee63a98044718a7f366aee03cac206b720ef5a8.tar.gz troggle-2ee63a98044718a7f366aee03cac206b720ef5a8.tar.bz2 troggle-2ee63a98044718a7f366aee03cac206b720ef5a8.zip |
If a cave is made with no entrances, redirect to a new entrance form for the cave
Diffstat (limited to 'core/views/caves.py')
-rw-r--r-- | core/views/caves.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/views/caves.py b/core/views/caves.py index f83ed1c..2fad12c 100644 --- a/core/views/caves.py +++ b/core/views/caves.py @@ -6,7 +6,7 @@ from pathlib import Path from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.http import HttpResponse, HttpResponseNotFound, HttpResponseRedirect from django.shortcuts import render -from django.urls import NoReverseMatch +from django.urls import NoReverseMatch, reverse import troggle.settings as settings from troggle.core.forms import CaveAndEntranceFormSet, CaveForm, EntranceForm, EntranceLetterForm @@ -373,8 +373,10 @@ def edit_cave(request, path="", slug=None): except subprocess.SubprocessError: message = f"CANNOT git on server for this file {cave.filename}. Edits may not be committed.\nAsk a nerd to fix this." return render(request, "errors/generic.html", {"message": message}) - - return HttpResponseRedirect("/" + cave.url) + if cave.entrances().count() > 0: + return HttpResponseRedirect("/" + cave.url) + else: + return HttpResponseRedirect(reverse("newentrance", args = [cave.url_parent(), cave.slug()])) else: if slug is not None: |