troggle-unchained/templates/personexpedition.html
2022-10-11 21:33:13 +03:00

86 lines
3.7 KiB
HTML

{% 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:&nbsp;</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>
<p>Status of all wallets for <b>
<a href="/wallets/person/{{personexpedition.person.first_name|safe}}{{personexpedition.person.last_name|safe}}">{{personexpedition.person}}</a>
</b>
</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 convoluted bug here, but only for some survex files. Mostly, a survex block is duplicated. But not always.
<p>
e.g. see <a href="/personexpedition/Wookey/1999">Wookey 1999</a> where there are one eiscream survex block on 5th August in eiscream.svx
<br>It duplicates it. Also on 4th Aug. there is only one block, but it gets shown twice.
<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 %}