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
36 lines
785 B
Python
36 lines
785 B
Python
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,
|
|
detach_occurrence,
|
|
generate_occurrences,
|
|
horizon,
|
|
occurrence_datetimes,
|
|
propagate_series,
|
|
)
|
|
|
|
__all__ = [
|
|
"apply_template",
|
|
"cancel_occurrence",
|
|
"detach_occurrence",
|
|
"effective_members",
|
|
"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",
|
|
]
|