Auf Vorgabe des Auftraggebers umgestellt:
* genau eine Meisterschaft je Saison (unique auf saison_jahr)
* turnier.meisterschaft_id (nullable FK) statt bool zaehlt_meisterschaft;
NULL = "o. M.". Kompat-Property turnier.zaehlt_meisterschaft bleibt.
* Teilwertungen (Erwachsene-Gesamt, Jugend J1-J5) sind (Kategorie, Klasse)-
Sichten auf die eine Meisterschaft, keine eigenen Zeilen mehr
* meisterschaft_stand: kategorie + klasse_id + Unique je Wertung/Fahrer
* berechne_stand(kategorie=, klasse_id=), wertungen_fuer(), berechne_alle_wertungen()
* Read-API: /meisterschaften/{id}/stand[?wertung=], .../endlauf-qualifikation?wertung=
* Ingest: POST /turniere haengt zaehlende Turniere an die Jahres-Meisterschaft
* Initialmigration neu erzeugt (Projekt noch nicht ausgerollt); Seed: eine
"HTH-Meisterschaft <jahr>"
* Tests angepasst/ergaenzt (61 gruen)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
1.4 KiB
HTML
41 lines
1.4 KiB
HTML
{% extends "base.html" %}
|
||
{% block title %}{{ meisterschaft.bezeichnung }} · {{ projekt }}{% endblock %}
|
||
{% block content %}
|
||
<h1>{{ meisterschaft.bezeichnung }}</h1>
|
||
|
||
<nav class="tiles">
|
||
{% for w in wertungen %}
|
||
<a href="/meisterschaft/{{ meisterschaft.id }}?wertung={{ w.code | urlencode }}"
|
||
{% if w.code == aktive_wertung.code %}style="font-weight:700"{% endif %}>{{ w.bezeichnung }}</a>
|
||
{% endfor %}
|
||
</nav>
|
||
|
||
<h2>{{ aktive_wertung.bezeichnung }}</h2>
|
||
<p>Saison {{ bericht.saison_jahr }} ·
|
||
{{ bericht.laeufe_gewertet }} von {{ bericht.laeufe_gesamt }} Läufen gewertet
|
||
(Rest = Streichresultate)</p>
|
||
|
||
{% for h in bericht.hinweise %}
|
||
<p class="hinweis">{{ h }}</p>
|
||
{% endfor %}
|
||
|
||
<table>
|
||
<thead><tr><th>Platz</th><th>Fahrer</th><th class="num">Punkte</th><th class="num">Siege</th>
|
||
<th class="num">Streichresultate</th></tr></thead>
|
||
<tbody>
|
||
{% for z in bericht.zeilen %}
|
||
{% set f = fahrer_map.get(z.fahrer_id) %}
|
||
<tr>
|
||
<td>{{ z.platz }}</td>
|
||
<td>{% if f %}<a href="/fahrer/{{ f.id }}">{{ f.anzeigename }}</a>{% else %}#{{ z.fahrer_id }}{% endif %}</td>
|
||
<td class="num">{{ '%.0f' % z.punkte_gesamt }}</td>
|
||
<td class="num">{{ z.anzahl_siege }}</td>
|
||
<td class="num">{{ z.gestrichene_laeufe | length }}</td>
|
||
</tr>
|
||
{% else %}
|
||
<tr><td colspan="5">Noch keine gewerteten Läufe.</td></tr>
|
||
{% endfor %}
|
||
</tbody>
|
||
</table>
|
||
{% endblock %}
|