diff --git a/core/views/logbooks.py b/core/views/logbooks.py index 308061c..cd39ab6 100644 --- a/core/views/logbooks.py +++ b/core/views/logbooks.py @@ -152,12 +152,9 @@ class Expeditions_jsonListView(ListView): class QMs_jsonListView(ListView): template_name = "core/QMs_json_list.html" model = QM - -rx_person = re.compile(r"(?i)^(([A-Z]*[a-z\-\'&;]*)[^a-zA-Z]*)([a-z\-\']*[^a-zA-Z]*[\-]*[A-Z]*[a-zA-Z\-&;]*)$") -rx_simple_person = re.compile(r"^([A-Z][a-z]*)[ ]*([A-Z][a-z]*)$") def person(request, slug=""): - """Original code as it has been for years. Trying to replace with better_person + """Now very much simpler with an unambiguous slug """ this_person = Person.objects.get(slug=slug) return render(request, "person.html", {"person": this_person}) @@ -197,14 +194,19 @@ def get_person_chronology(personexpedition): def personexpedition(request, slug="", year=""): - person = Person.objects.get(slug=slug) - this_expedition = Expedition.objects.get(year=year) - personexpedition = person.personexpedition_set.get(expedition=this_expedition) - personchronology = get_person_chronology(personexpedition) + try: + person = Person.objects.get(slug=slug) + this_expedition = Expedition.objects.get(year=year) + personexpedition = person.personexpedition_set.get(expedition=this_expedition) + personchronology = get_person_chronology(personexpedition) - return render( - request, "personexpedition.html", {"personexpedition": personexpedition, "personchronology": personchronology} - ) + return render( + request, "personexpedition.html", {"personexpedition": personexpedition, "personchronology": personchronology} + ) + except: + msg = f" Person '{slug=}' or year '{year=}' not found in database. Please report this to a nerd." + print(msg) + return render(request, "errors/generic.html", {"message": msg}) def logbookentry(request, date, slug): diff --git a/templates/personexpedition.html b/templates/personexpedition.html index af50b7c..a9f05b9 100644 --- a/templates/personexpedition.html +++ b/templates/personexpedition.html @@ -20,7 +20,7 @@ {% endfor %}
Status of all wallets for -{{personexpedition.person.fullname}} +{{personexpedition.person.fullname|safe}}
Each wallet contains the scanned original in-cave survey notes and sketches of plans and elevations. It also contains scans of centre-line survex output on which hand-drawn passage sections are drawn. These hand-drawn passages will eventually be