Saison-Modell: Global vs. Bearbeitungsmodus
Ziel
Trainer und Admin können die nächste Saison vollständig vorbereiten, ohne die laufende Saison für Spieler sofort umzuschalten.
Begriffe
- Global aktiv: Saison, die ohne persönliche Auswahl für alle Rollen als aktuell gilt.
- Bearbeitungsmodus: Persönliche Saison-Auswahl für Trainer/Admin. Alle Eingaben laufen nur in dieser ausgewählten Saison.
Standardablauf: Neue Saison vorbereiten
- Saison-Assistent öffnen.
- Neuen Saisonnamen vergeben.
- Datenquelle für Import wählen.
- In Schritt 2 die gewünschten Übernahmen aktivieren.
- Saison anlegen.
- Fachlich prüfen, ob Daten in der neuen Saison korrekt sind.
- Erst danach die neue Saison global als aktuell setzen.
Übernahmeoptionen im Saison-Assistenten
Spieler übernehmen
- Erstellt die Spielerliste in der neuen Saison.
- Ist Voraussetzung für Profile, offene Strafen/Beiträge und Abmeldeserien.
Spielerprofile übernehmen
- Übernimmt Profildaten (z. B. Positionen, Ziele, Stärken/Schwächen).
Termine übernehmen
- Kopiert Trainings-, Spiel- und Eventtermine in die neue Saison.
Offene Strafen und Beiträge übernehmen
- Überträgt offene Strafen und offene Teambeiträge.
- Überträgt den Kassenstand: Die neue Saison startet mit dem Kontostand der Quellsaison.
Strafenkatalog übernehmen
- Kopiert Katalogeinträge mit Beträgen in die neue Saison.
Individuelle Einstellungen übernehmen
- Übernimmt saisonbezogene Einstellungen ohne Kassenstand-Basis.
Aktive Abmeldeserien übernehmen
- Übernimmt nur zukünftige Terminanteile laufender Serien.
- Hat eine Serie bereits in der Vergangenheit begonnen, startet die übernommene Serie in der neuen Saison ab heute.
Personen- und Tenant-Verhalten
- Übernahmen sind tenant-bezogen.
- Beim Saisonkopieren werden auch verknüpfte Personenkonten berücksichtigt.
- Elternzuordnungen zu Kindern werden in der Ziel-Saison wieder verknüpft.
- Trainerkonten werden für die neue Saison sichergestellt.
Globalen Saisonwechsel sicher durchführen
- Ziel-Saison im Bearbeitungsmodus öffnen.
- Schnellcheck durchführen: Spieler, Termine, offene Finanzposten, Abmeldeserien.
- Vorschau für globalen Wechsel aufrufen.
- Vergleich Quelle/Ziel prüfen.
- Global auf neue Saison umstellen.
Checkliste vor globalem Wechsel
- Spieleranzahl plausibel.
- Terminanzahl plausibel.
- Offene Strafen vorhanden/korrekt.
- Kassenstand-Basis korrekt.
- Offene Teambeiträge korrekt.
- Aktive Abmeldeserien nur mit zukünftigen Zeiträumen vorhanden.
- Trainerfreigabe eingeholt.
API-Endpunkte
- GET /api/seasons
- POST /api/seasons
- POST /api/seasons/current/preview
- PUT /api/seasons/current
Wichtige Fehlercodes
- SEASON_NAME_REQUIRED
- SEASON_NAME_INVALID
- SEASON_ALREADY_EXISTS
- SEASON_NOT_FOUND
- SEASON_ID_REQUIRED
- SEASON_SWITCH_PREVIEW_FORBIDDEN
- SEASON_SWITCH_FORBIDDEN
- SEASON_ALREADY_CURRENT
- SEASON_SWITCHED
Typische Fehlerbilder und Lösung
Neue Hintergrund-/Branding-Einstellung scheint nicht aktiv
- Nach Speichern einmal hart neu laden (Ctrl+F5).
- Prüfen, ob die richtige Saison/Tenant aktiv ist.
- Branding erneut speichern und Rückmeldung prüfen.
Übernahme wirkt unvollständig
- Sicherstellen, dass die Option Spieler übernehmen aktiv war.
- Bei Strafen/Beiträgen prüfen, ob Offene Strafen aktiviert war.
- Bei Abmeldeserien prüfen, ob nur zukünftige Terminanteile erwartet werden.