Implementiert einen druckbaren Saison-Report für Head Coaches, der eine
Übersicht über die Spielerteilnahme an allen Spielen einer ausgewählten
Saison bietet.
Wesentliche Änderungen:
- **Neue URL und View (`season_report` in `team_stats/views.py`):**
Empfängt `team_id` und `season`, holt Spieler, Spiele und deren
Teilnahmestatus und bereitet die Daten auf. Enthält eine
Berechtigungsprüfung für den Head Coach.
- **Neue Vorlage (`team_stats/templates/team_stats/season_report.html`):**
Zeigt eine Tabelle mit Spielen als Zeilen und Spielern als Spalten an.
Teilnahmestatus wird mit Symbolen (✔, ✖, ?) dargestellt. Enthält
druckspezifisches CSS, um die Lesbarkeit und das Seitenlayout für DIN A4
(Querformat) zu optimieren, inklusive vertikal gedrehter Spielernamen in
der Kopfzeile zur Platzersparnis.
- **Integration (`team_statistics.html`):** Ein "Saison-Report generieren"-Button
wurde zur Team-Statistikseite hinzugefügt, der den Report für die
aktuell ausgewählte Saison öffnet.
Erweitert die Team-Statistikansicht um zwei neue Metriken:
- 'Games with Supporters': Zeigt die Anzahl der Spiele an, die mit Unterstützung
durch ein zweites Team (Supporter-Team) stattgefunden haben.
- 'Avg. Supporter Share': Berechnet den durchschnittlichen Prozentsatz der
Spieler, die in diesen Spielen vom Supporter-Team gestellt wurden.
Diese Statistiken helfen, den Grad der Abhängigkeit von externer Spielerunterstützung
zu analysieren. Die Anzeige erfolgt in einer neuen Karte auf der Team-Statistikseite.
Änderungen umfassen:
- Anpassung der Funktion in
zur Berechnung der neuen Metriken unter Berücksichtigung von
und .
- Erweiterung des Templates
um eine neue 'Supporter Stats'-Karte zur Anzeige der berechneten Werte.
Erweitert die Team-Statistikansicht, sodass Head Coaches von übergeordneten Teams
auch die Statistiken ihrer untergeordneten Teams einsehen können.
Jedes Team wird mit seinen eigenen Statistiken separat dargestellt.
Zusätzlich wurde eine Filterfunktion implementiert, die es ermöglicht,
die Statistiken nach Saison zu filtern.
Die Datenstruktur für die Inning-Ergebnisse (`inning_results`) war in der `record_results`-View (`calendars/views.py`) und der `team_statistics`-View (`team_stats/views.py`) inkonsistent.
In `calendars/views.py` wurde eine verschachtelte Struktur mit `inning_` als Schlüssel verwendet, während in `team_stats/views.py` eine Struktur mit 'home'- und 'away'-Listen erwartet wurde.
Diese Inkonsistenz führte dazu, dass die Inning-Ergebnisse in der Team-Statistik nicht korrekt angezeigt wurden.
Der Fix vereinheitlicht die Datenstruktur, sodass die `record_results`-View die Ergebnisse in dem von der `team_statistics`-View erwarteten Format speichert. Zudem wurde die Logik zum Laden der Formulardaten in `record_results` angepasst.
Fügt eine neue Seite hinzu, auf der Headcoaches Statistiken für ihre Teams einsehen können.
Die Statistikseite umfasst:
- W-L-Bilanz, Siegquote (PCT) und aktuelle Serie
- Balkendiagramm für erzielte und zugelassene Runs (RS vs. RA)
- "Luck-O-Meter" zum Vergleich der realen und pythagoreischen Siegquote
- Inning-Heatmap zur Anzeige der erzielten Runs pro Inning
Die Seite ist über einen neuen Button auf dem Dashboard für jedes vom Headcoach trainierte Team erreichbar.