diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/models/logbooks.py | 26 | ||||
-rw-r--r-- | core/views/caves.py | 12 |
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: |