feature/UC52-Team-Reihenfolgen #21

Merged
ingo merged 3 commits from feature/UC52-Team-Reihenfolgen into master 2026-06-09 02:24:52 +02:00
Owner
No description provided.
Plant Reihenfolgen schon in der Vorlage über Team-Platzhalter (Slots),
die beim Lauf-Anlegen auf echte Teams gemappt und in team_sequences
materialisiert werden.

Backend:
- Neues Model team_slots + Migration 0035, Service team_slots
  (CRUD, Permutations-Validierung, Auto-Verteilung, Materialisierung).
- planner.propose_orders als geteilter Kern für Team- (UC51) und
  Slot-Auto-Verteilung.
- API: GET/PUT /team-slots, PUT /slot-sequences,
  POST /team-slots/auto-distribute; is_template + team_slots in /planner.
- Lauf-Anlage: slot_id pro Team, Materialisierung nach Snapshot.
- Snapshot-Fix: kind/estimated_duration_minutes der Gruppen mitkopiert,
  Start-/End-Task remappt (bisherige UC51-Lücke).
- Gruppen-Löschung bereinigt auch team_slots.

Frontend:
- Generischer SequenceMatrixEditor (Teams oder Slots), TeamSequenceEditor
  als dünner Adapter, neuer TeamSlotManager.
- Planner schaltet bei Vorlagen automatisch in den Slot-Modus.
- Run-Wizard: Schritt "Reihenfolgen zuordnen" (nur bei geplanten Slots).

Nebenbei behoben (vorbestehende Test-Fehler):
- Team-Namen: leerer Name erlaubt, Server vergibt Default "Team N";
  Wizard belegt "Team N" vor (überschreibbar). Tote Fallback-Liste raus.
- test_location: fehlender /api/v1-Prefix ergänzt.
- test_team_name_generation: auf create_team-Unit umgestellt, Mocks
  an client.chat()-API angepasst.

177 passed, Frontend-Build grün.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Team-Verwaltung im Lauf (Vorbereitung):
- POST /admin/rallyes/{id}/teams: Team hinzufügen (nur preparation), nutzt
  create_team mit default_index, damit "Team N" sinnvoll weiterzählt
- POST .../teams/{id}/regenerate-code: serverseitige Code-Neuerzeugung
  (nur preparation + kein Teilnehmer beigetreten); ersetzt den kaputten
  PATCH-Pfad, der join_code stillschweigend verwarf
- DELETE .../teams/{id}: Guards (nur preparation + leeres Team)
- list_rallye_teams: stabile Sortierung (created_at, id) — behebt das
  scheinbare Verrutschen der Codes nach einem Update
- PATCH /me/team: Teilnehmer benennt eigenes Team um (preparation + active)
- Frontend: RunTeamsCard mit Hinzufügen/Löschen, gemeinsamer TeamFormDialog
  für Anlegen & Bearbeiten inkl. KI-Namensvorschlag; Planer-Button im Lauf
  wiederhergestellt; "Team umbenennen" in TeamPage

Game-Master & Passwort:
- POST /auth/me/change-password + ChangeOwnPasswordDialog (Einstieg in AdminShell)
- GM-Registrierung: E-Mail optional, Passwortregeln gelockert (min. 6 Zeichen)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ingo merged commit 5d71fb7168 into master 2026-06-09 02:24:52 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Projekte/TeamRallye!21
No description provided.