feature/UC61-Lauf-beenden #30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/UC61-Lauf-beenden"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implementiert den vollständigen Abschluss-Workflow eines Laufs: - Neuer Lauf-Status 'finished' (Ergebnisphase) zwischen active und archived, mit Übergängen active->finished->{active,archived}. - Fotogalerie: im aktiven Lauf sieht ein Team alle eigenen Fotos (inkl. pending), nach Beendigung alle approved-Fotos aller Teams. Galerie/Voting/Rankings sind in finished/archived erreichbar. - Einmalige Punktvergabe: scoring.emit() vergibt task_solved höchstens einmal je (team, task); DB-Sicherheitsnetz via Partial-Unique-Index. - Admin: Dubletten-Bereinigung (Einreichungen löschen kaskadiert Fotos + Score-Events) und Neuberechnung überzähliger task_solved-Events. - Frontend: Cockpit-Aktion 'Lauf beenden' mit Bestätigung und Wieder-öffnen/Archivieren, Galerie-Umschalter Tabs/Liste, beendete Läufe in der Läufe-Übersicht, klarer Hinweis auf der Aufgaben-Seite in der Ergebnisphase. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>Teilnehmer sehen in finished/archived alle Aufgaben des Laufs inkl. der eigenen (Team-)Lösung, statt nur Titel + "Verfügbar": - /tasks und /tasks/{id} sind über get_results_rallye auch in der Ergebnisphase erreichbar; Visibility-Filterung entfällt dort. - _latest_status_per_task liefert in der Ergebnisphase den letzten ENTSCHEIDENDEN Versuch (approved/auto_approved/rejected) statt eines dangling 'pending'-Versuchs und gibt zusätzlich das (bereinigte) submission_payload zurück -> neue Feld TaskParticipantOut.submission_payload. - GET /tasks/{id}/submissions ist in der Ergebnisphase erreichbar und liefert je Versuch nun auch das payload (eigene Antwort). - Frontend ResultTaskCard: Titel, Beschreibung, Status (OK/FAIL), erhaltene/mögliche Punkte, finale gewertete Antwort (typabhängig formatiert) + Kommentar; Versuchs-Historie ausklappbar. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>