{% extends "base.html" %} {% block title %}Person {{personexpedition.person}} for {{personexpedition.expedition}}{% endblock %} <!-- I am removing 'role' as a thing that troggle cares about. This will remove the Class Role (but keep PersonRole) and 1 foreign key role If anyone really cares, they can always look in the original survex file --> {% block content %} <h1> <a href="{{personexpedition.person.get_absolute_url}}">{{personexpedition.person|safe}}</a> : <a href="{{personexpedition.expedition.get_absolute_url}}">{{personexpedition.expedition}}</a> </h1> <p>{{message}}</p> <p>{{personexpedition.surveyedleglength|stringformat:".1f"}} m surveyed this year.</p> <p><b>Other years:</b> {% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %} {% if otherpersonexpedition == personexpedition %} | <b>{{otherpersonexpedition.expedition.year}}</b> {% else %} | <a href="{{otherpersonexpedition.get_absolute_url}}">{{ otherpersonexpedition.expedition.year }}</a> {% endif %} {% endfor %} </p> <h3>Table of all trips and surveys aligned by date</h3> <div> <table class="survexcontibutions"> <!-- <tr><th>Date</th><th colspan="2">Trips</th><th colspan="3">Surveys</th></tr> Remove 'role' --> <tr><th>Date</th><th colspan="2">Trips</th><th colspan="2">Surveys</th></tr> {% for persondate in personchronology %} <tr> <td class="date">{{persondate.0}}</td> {% if persondate.1 %} <td width="35%" class="trip"><a href="{{ persondate.1.logbook_entry.get_absolute_url }}">{{persondate.1.logbook_entry.title|safe}}</a></td> <td><a href="{{ persondate.1.logbook_entry.cave.get_absolute_url }}"> {{persondate.1.logbook_entry.place|safe}}</a></td> {% else %} <td colspan="2"> </td> {% endif %} {% if persondate.2 %} <td class="survexblock"><a href="{% url "svx" persondate.2.survexfile.path %}">{{persondate.2.name}}</a></td> {%comment%} <td class="roles" style="padding-right: 3px; text-align:right"> {% for survexpersonrole in persondate.2.survexpersonrole_set.all %} {{survexpersonrole.nrole}} {% endfor %} </td>{%endcomment%} <td style="text-align:right"> {{persondate.2.legslength|stringformat:".1f"}} m </td> {% else %} <td colspan="3"> </td> {% endif %} </tr> {% endfor %} </table> </div> <div style="color: slategray; background-color:lightcyan"> <p>Horrible bug here but only when there is more than one survex block per day, e.g. see <a href="/personexpedition/Wookey/1999">Wookey 1999</a> 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. <p>Fortunately it is <b>just this display on this page which is wrong</b>: no bad calculations get into the database. <p>The interaction of django database query idioms with <a href="https://docs.djangoproject.com/en/1.11/ref/templates/api/">django HTML templating language</a> 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.<br> - The template is in <var>troggle/templates/personexpedition.html</var> <br> - The code is in function <var>personexpedition()</var> which calls <var>get_person_chronology()</var> in <var>troggle/core/views/logbooks.py</var> <br> - the connection between the two is made in the URL resolver in <var>troggle/urls.py</var> <p>To be fixed! </div> {% endblock %}