Logo

Club Admin Portal

System & Settings

Exit

Loading Settings...

System Settings

Global Variables & Data Control

When stats are finalized but Player Summary CSV owns that year, aggregate updates are skipped and a request appears here. Approve to apply those totals to player documents (overrides the CSV guard for this action).

{{ statModeLabel(p.statMode) }} · Year {{ p.year }} · {{ p.isLocking ? 'Finalize' : 'Unlock' }} {{ p.createdAt }}

Game {{ p.gameId }} · Team {{ teamLabel(p.teamId) }}

  • {{ pid }}: T={{ st.tackles }} R={{ st.hitups }} Tr={{ st.tries }} G={{ st.goals }}

Security Notice

This code must be distributed to new members (parents and players). They are required to enter it during registration to gain access.

{{ clubCode || 'NOT SET' }}

Bulk Registration Import

Import a MySideline CSV or NRL Registration Detail Report (auto-detected). Merges multiple roles per person, committee flags, extra profile fields, and links app accounts by email when matched.

Staff roster migration

New Season Reset

Clears the "Registered" status from all existing club players in the database, setting them all to "Unregistered" to prepare for the new calendar season.

Squad import (CSV)

Import a squad roster file onto an existing squad or create a new squad from the CSV. Opens the Squads page with the import dialog.

Open squad CSV import

Player stats import (CSV)

Player Summary / Huddle yearly stats CSV. Opens Stats & History with the import dialog (club admins only).

Open player stats import

Game stats adjustment

Correct games played after a called-off round was counted in MySideline. Compare two Player Summary imports (per squad for multi-team players) or subtract a fixed amount for selected Saturday/Sunday squads.

Open game stats adjustment

Generate New Round(s)

Instantly create blank fixtures for a specific set of teams simultaneously.

Target Teams ({{ selectedMasterTeams.length }}/{{ availableMasterTeams.length }})
No teams configured for {{ masterRoundDay }}.

If left blank, date/time will remain "TBA". If you set a date and create multiple rounds, subsequent rounds will auto-increment by 7 days.

Manage Existing Rounds

Edit or completely remove globally generated rounds. Filter by match day so Saturday and Sunday fixtures are managed separately.

Users with this role have unrestricted global access to all teams, reports, and system settings.

No users match this search.

Current Club Admins

{{ admin.firstName ? admin.firstName + ' ' + (admin.lastName||'') : admin.email.split('@')[0] }}

{{ admin.email }}

Club admins can view and make changes as another user (same browser tab).

Currently impersonating
{{ impersonatedUser ? userOptionLabel(impersonatedUser) : impersonateUid }}

Manage app users, link staff rows, merge duplicate player names, and fix missing NRL/reg numbers. Opens in a dedicated view (not in the main portal nav).

Open users tool →

Global Opponents

{{ o.name }}
No opponents added.

Global Venues

{{ v.name }}
No venues added.

Sets the default year used for stats and dashboards across the app. This is the heartbeat of the database's season tracker.

Recipients for the club-admin Send At-milestone + new this week email action on Club Milestones. One email per send (whole club snapshot + current ISO week crossings). Defaults apply until you save here.

Scheduled job milestone-staff-daily runs the milestone staff notifier each week (FCM when approaching lists change, plus optional per-squad HTML reports to roster staff emails). Enable weekly emails below; use test actions before the next cron run.

Saved schedule: {{ milestoneSchedulePreview }}. The next scheduled notifier run updates Cloud Scheduler job milestone-staff-daily to match the saved day/hour (Australia/Sydney).

Last notifier run

Updated: {{ milestoneStaffStateUpdatedLabel }}

Weekly email week: {{ milestoneStaffState.weeklyTeamEmailWeekKey || '—' }}

New-this-week crossings (last run): {{ milestoneStaffStateCrossingsCount }}

No notifier state yet (first scheduled run will create it).

Test & manual run

Send test weekly email uses the squad dropdown (one squad, or All squads for one [TEST] email per squad to your address). Run full scheduled job now ignores the dropdown — same as Wednesday cron: every squad, production roster staff emails when weekly emails are enabled, plus FCM where approaching lists changed.

{{ milestoneNotifierRunMessage }}

Squad Status Contacts Players Recipient emails
{{ row.teamLabel }} {{ row.status }} {{ row.statusDetail }} {{ row.contactCount }} {{ row.fullPlayers }} / {{ row.approachingPlayers }} {{ row.recipientEmailsLabel }}