edit entrances within the correct url parent

This commit is contained in:
Martin Green
2022-07-31 21:29:17 +02:00
parent 94252a94fe
commit fa6758b9a0
4 changed files with 29 additions and 12 deletions

View File

@@ -113,7 +113,7 @@ class Cave(TroggleModel):
def hassurveydata(self):
if not self.underground_centre_line:
return "No"
if self.survex_file:
if self.survex_filcavee:
return "Yes"
return "Missing"
@@ -167,7 +167,7 @@ class Cave(TroggleModel):
# undated.append(q)
# sortedqms = sorted(dated, key=operator.attrgetter('block.date')) # sort by date of survexblock the QM was defined in
# orderedqms = sorted(undated, key=operator.attrgetter('expoyear')) # sort by date of expoyear
# return orderedqms + sortedqms # a list, NOT a QuerySet
# return orderedqmcaves + sortedqms # a list, NOT a QuerySet
# def new_QM_number(self, year=datetime.date.today().year):
@@ -338,7 +338,7 @@ class Entrance(TroggleModel):
def has_photo(self):
if self.photo:
if (self.photo.find("<img") > -1 or self.photo.find("<a") > -1 or self.photo.find("<IMG") > -1 or self.photo.find("<A") > -1):
return "Yes"
return "Yecaves"
else:
return "Missing"
else:
@@ -365,7 +365,7 @@ class Entrance(TroggleModel):
# if ancestor_titles:
# res = '/'.join((self.get_root().cave.get_absolute_url(), ancestor_titles, self.title))
# else:
# res = '/'.join((self.get_root().cave.get_absolute_url(), self.title))
# res = '/'.jocavein((self.get_root().cave.get_absolute_url(), self.title))
# return res
res = '/'.join((self.get_root().cave.get_absolute_url(), self.title))
return res
@@ -403,7 +403,17 @@ class Entrance(TroggleModel):
u = t.render(c)
writetrogglefile(filepath, u)
return
def url_parent(self):
if self.url:
return self.url.rsplit("/", 1)[0]
else:
cavelist = self.cavelist()
if len(self.cavelist()) == 1:
return cavelist[0].url_parent()
else:
return ""
class LogbookEntry(TroggleModel):
"""Single parsed entry from Logbook

View File

@@ -276,8 +276,11 @@ def cavepage(request, karea, subpath):
r = rendercave(request, cave, cave.slug())
return r
except NoReverseMatch:
message = f'Failed to render cave: {kpath} (it does exist and is unique) because of a Django URL resolution error. Check urls.py.'
return render(request,'errors/generic.html', {'message': message})
if settings.DEBUG:
raise
else:
message = f'Failed to render cave: {kpath} (it does exist and is unique) because of a Django URL resolution error. Check urls.py.'
return render(request,'errors/generic.html', {'message': message})
except:
# anything else is a new problem. Add in specific error messages here as we discover new types of error
raise
@@ -365,7 +368,7 @@ def edit_cave(request, path = "", slug=None):
})
@login_required_if_public
def edit_entrance(request, caveslug=None, slug=None):
def edit_entrance(request, path = "", caveslug=None, slug=None):
'''This is the form that edits the entrance data for a single entrance and writes out
an XML file in the :expoweb: repo folder
The format for the file being saved is in templates/dataformat/entrance.xml