Add a team attendance KPI panel and no-show check-in tracking

Team pages now show, for the selected season: overall attendance rate,
best/worst attenders, players who missed the last 2 practices, and
no-shows (an affirmative RSVP checked in as absent). No-shows need a
real distinction the RSVP status alone can't make, so Attendance gains
a separate showed_up tri-state field, usable today via Django admin --
a full check-in screen is future work for the coaches app.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R1gj3J1QPfP38XWpnpbFpy
This commit is contained in:
2026-08-03 23:08:47 +02:00
parent ab1d34cd0a
commit 9a4da9b136
10 changed files with 408 additions and 5 deletions

View File

@@ -1,4 +1,12 @@
from .attendance import effective_members, sync_event_attendances
from .attendance import (
effective_members,
player_attendance_rankings,
players_who_missed_recent_practices,
record_check_in,
sync_event_attendances,
team_attendance_rate,
team_no_shows,
)
from .recurrence import (
apply_template,
cancel_occurrence,
@@ -17,6 +25,11 @@ __all__ = [
"generate_occurrences",
"horizon",
"occurrence_datetimes",
"player_attendance_rankings",
"players_who_missed_recent_practices",
"propagate_series",
"record_check_in",
"sync_event_attendances",
"team_attendance_rate",
"team_no_shows",
]