Joining a team or group already re-synced Attendance rows for its upcoming events (events/signals.py), but did so silently. A fresh membership (not a field edit, not a removal) now sends one summary notification -- "N new events on your calendar" -- rather than one per event, so joining mid-season with a whole recurring series already scheduled doesn't flood the member with pushes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
38 lines
839 B
Python
38 lines
839 B
Python
from .attendance import (
|
|
effective_members,
|
|
notify_newly_invited,
|
|
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",
|
|
"notify_newly_invited",
|
|
"occurrence_datetimes",
|
|
"player_attendance_rankings",
|
|
"players_who_missed_recent_practices",
|
|
"propagate_series",
|
|
"record_check_in",
|
|
"sync_event_attendances",
|
|
"team_attendance_rate",
|
|
"team_no_shows",
|
|
]
|