{% extends "base.html" %} {% block title %}Person {{personexpedition.person}} for {{personexpedition.expedition}}{% endblock %} {% block content %}
{{message}}
{{personexpedition.surveyedleglength|stringformat:".1f"}} m surveyed this year.
Other years: {% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %} {% if otherpersonexpedition == personexpedition %} | {{otherpersonexpedition.expedition.year}} {% else %} | {{ otherpersonexpedition.expedition.year }} {% endif %} {% endfor %}
Date | Trips | Surveys | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
{{persondate.0}} | {% if persondate.1 %}{{persondate.1.logbook_entry.title|safe}} | {{persondate.1.logbook_entry.place|safe}} | {% else %}{% endif %} {% if persondate.2 %} | {{persondate.2.name}} | {%comment%}{% for survexpersonrole in persondate.2.survexpersonrole_set.all %} {{survexpersonrole.nrole}} {% endfor %} | {%endcomment%}{{persondate.2.legslength|stringformat:".1f"}} m | {% else %}{% endif %} |
Horrible bug here but only when there is more than one survex block per day, e.g. see Wookey 1999 where there are 3 eiscream survex blocks on 5th August. it duplicates the entry but gets it wrong. The length from the first block is displayed twice but there should be 3 rows: eiscream, eiscream2, eiscream3.
Fortunately it is just this display on this page which is wrong: no bad calculations get into the database.
The interaction of django database query idioms with django HTML templating language is a bit impenetrable here.
I blame Aaron Curtis who was too fond of being clever with the Django templating system
instead or writing it in python anyone could understand.
- The template is in troggle/templates/personexpedition.html
- The code is in function personexpedition() which calls
get_person_chronology() in troggle/core/views/logbooks.py
- the connection between the two is made in the URL resolver in troggle/urls.py
To be fixed!