diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2022-07-20 14:44:56 +0300 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2022-07-20 14:44:56 +0300 |
commit | 549c1649b4037cad11c5d7ae7ef24c10b90879e7 (patch) | |
tree | d5c15f64e482aa32ecf358298ee0bea4a511c481 /core/views/caves.py | |
parent | 2a7f1506c98a459593912ea66bce02a7b3e52a80 (diff) | |
download | troggle-549c1649b4037cad11c5d7ae7ef24c10b90879e7.tar.gz troggle-549c1649b4037cad11c5d7ae7ef24c10b90879e7.tar.bz2 troggle-549c1649b4037cad11c5d7ae7ef24c10b90879e7.zip |
QMs now have working url to survexfile & tick description
Diffstat (limited to 'core/views/caves.py')
-rw-r--r-- | core/views/caves.py | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/core/views/caves.py b/core/views/caves.py index 033d073..0e4b4e8 100644 --- a/core/views/caves.py +++ b/core/views/caves.py @@ -272,14 +272,12 @@ def cavepage(request, karea, subpath): r = rendercave(request, cave, cave.slug()) return r except NoReverseMatch: - raise - except: - raise 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}) - - # return rendercave(request, cave, cave.slug(), cave_id=cave_id) - + except: + # anything else is a new problem. Add in specific error messages here as we discover new types of error + raise + def caveEntrance(request, slug): try: cave = Cave.objects.get(caveslug__slug = slug) @@ -482,6 +480,7 @@ def qm(request,cave_id,qm_id,year,grade=None, blockname=None): 290 has several QMS with the same number, grade, year (2108) and first 8 chars of the survexblock. This crashes things. ''' + year=int(year) if blockname == '': @@ -492,12 +491,13 @@ def qm(request,cave_id,qm_id,year,grade=None, blockname=None): qm=manyqms.get(number=qm_id,expoyear=year) return render(request,'qm.html', {'qm': qm}) except QM.DoesNotExist: - raise + #raise return render(request,'errors/badslug.html', {'badslug': f'{cave_id=} {year=} {qm_id=} {blockname=}'}) else: try: qmslug = f'{cave_id}-{year}-{blockname=}{qm_id}{grade}' + print(f'{qmslug=}') c=getCave(cave_id) manyqms=c.get_QMs() qmqs=manyqms.filter(expoyear=year, blockname=blockname, number=qm_id, grade=grade) @@ -509,15 +509,16 @@ def qm(request,cave_id,qm_id,year,grade=None, blockname=None): else: qm=qmqs.get(expoyear=year, blockname=blockname, number=qm_id, grade=grade) if qm: - print(qm, f'{qmslug=}:{cave_id=} {year=} {qm_id=} {blockname=} {qm.expoyear=}') + print(qm, f'{qmslug=}:{cave_id=} {year=} {qm_id=} {blockname=} {qm.expoyear=} {qm.completion_description=}') return render(request,'qm.html', {'qm': qm}) else: - raise + #raise return render(request,'errors/badslug.html', {'badslug': f'{cave_id=} {year=} {qm_id=} {blockname=}'}) except MultipleObjectsReturned: - raise + message = f'Multiple QMs with the same cave, year, number, grade AND first 8 chars of the survexblock name. (Could be caused by incomplete databasereset). Fix this in the survex file(s). {cave_id=} {year=} {qm_id=} {blockname=}' + return render(request,'errors/generic.html', {'message': message}) except QM.DoesNotExist: - raise + #raise return render(request,'errors/badslug.html', {'badslug': f'{cave_id=} {year=} {qm_id=} {blockname=}'}) |