troggle-unchained/templates/personexpedition.html
2021-04-15 17:51:01 +01:00

73 lines
3.0 KiB
HTML

{% extends "base.html" %}
{% load wiki_markup %}
{% block title %}Person {{personexpedition.person|wiki_to_html_short}} for {{personexpedition.expedition}}{% endblock %}
{% 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 %}
{% ifequal otherpersonexpedition personexpedition %}
| <b>{{otherpersonexpedition.expedition.year}}</b>
{% else %}
| <a href="{{otherpersonexpedition.get_absolute_url}}">{{ otherpersonexpedition.expedition.year }}</a>
{% endifequal %}
{% 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>
{% 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.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>
<td class="roles" style="padding-right: 3px; text-align:right">
{% for survexpersonrole in persondate.2.survexpersonrole_set.all %}
{{survexpersonrole.nrole}}
{% endfor %}
</td>
<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. <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 %}