summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/models/logbooks.py26
-rw-r--r--core/views/caves.py12
2 files changed, 24 insertions, 14 deletions
diff --git a/core/models/logbooks.py b/core/models/logbooks.py
index b594945..361fb96 100644
--- a/core/models/logbooks.py
+++ b/core/models/logbooks.py
@@ -150,8 +150,8 @@ class QM(TroggleModel):
blockname = models.TextField(blank=True, null=True) # NB truncated copy of survexblock name with last char added
expoyear = models.CharField(max_length=4, blank=True, null=True)
ticked = models.BooleanField(default=False)
- location_description = models.TextField(blank=True)
- completion_description = models.TextField(blank=True)
+ location_description = models.TextField(blank=True, null=True)
+ completion_description = models.TextField(blank=True, null=True)
completion_date = models.DateField(blank=True, null=True)
nearest_station_name = models.CharField(max_length=200, blank=True, null=True)
resolution_station_name = models.CharField(max_length=200, blank=True, null=True)
@@ -177,17 +177,17 @@ class QM(TroggleModel):
blocknamestr = ""
return f"{cavestr}-{expoyearstr}-{self.number}{self.grade}{blocknamestr}"
- def get_completion_url(self):
- """assumes html file named is in same folder as cave description file
- WRONG - needs rewriting!"""
- cd = None
- if self.completion_description:
- try:
- dir = Path(self.cave.url).parent
- cd = dir / self.completion_description
- except:
- cd = None
- return cd
+ # def get_completion_url(self):
+ # """assumes html file named is in same folder as cave description file
+ # WRONG - needs rewriting!"""
+ # cd = None
+ # if self.completion_description:
+ # try:
+ # dir = Path(self.cave.url).parent
+ # cd = dir / self.completion_description
+ # except:
+ # cd = None
+ # return cd
def newslug(self):
qmslug = f"{str(self.cave)}-{self.expoyear}-{self.blockname}{self.number}{self.grade}"
diff --git a/core/views/caves.py b/core/views/caves.py
index c866718..2f5a0ce 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -550,7 +550,7 @@ def qm(request, cave_id, qm_id, year, grade=None, blockname=None):
try:
c = getCave(cave_id)
manyqms = c.get_open_QMs() | c.get_ticked_QMs() # set union operation
- qm = manyqms.get(number=qm_id, expoyear=year)
+ qm = manyqms.get(number=qm_id, expoyear=year, grade=grade)
return render(request, "qm.html", {"qm": qm})
except QM.DoesNotExist:
# raise
@@ -561,6 +561,16 @@ def qm(request, cave_id, qm_id, year, grade=None, blockname=None):
"badslug": f"QM.DoesNotExist blockname is empty string: {cave_id=} {year=} {qm_id=} {grade=} {blockname=}"
},
)
+ except QM.MultipleObjectsReturned:
+ # raise
+ qms = manyqms.filter(number=qm_id, expoyear=year)
+ return render(
+ request,
+ "errors/badslug.html",
+ {
+ "badslug": f"QM.MultipleObjectsReturned {cave_id=} {year=} {qm_id=} {grade=} {blockname=} {qms=}"
+ },
+ )
else:
try: