finalisieren zieht die Veranstaltung mit (vorlaeufig/final)
Nur so kommen Turnierergebnisse in die Meisterschaftswertung, ohne dass ein separater Veranstaltungs-Status-Endpoint noetig ist. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -155,11 +155,20 @@ def turnier_finalisieren(db: DbDep, _key: IngestKey, turnier_id: int):
|
||||
if t is None:
|
||||
raise HTTPException(404, "Turnier nicht gefunden")
|
||||
bericht = turnier_auswerten(db, turnier_id, zeit_aus_messungen=True, schreiben=True)
|
||||
from oamc.models.enums import TurnierStatus
|
||||
from oamc.models.enums import TurnierStatus, VeranstaltungStatus
|
||||
|
||||
t.status = TurnierStatus.FINAL
|
||||
# Parent-Veranstaltung mitfuehren: final, wenn alle ihre Turniere final sind,
|
||||
# sonst mindestens "vorlaeufig" (Voraussetzung fuer die Meisterschaftswertung).
|
||||
v = t.veranstaltung
|
||||
if all(x.status == TurnierStatus.FINAL for x in v.turniere):
|
||||
v.status = VeranstaltungStatus.FINAL
|
||||
elif v.status == VeranstaltungStatus.GEPLANT:
|
||||
v.status = VeranstaltungStatus.VORLAEUFIG
|
||||
return {
|
||||
"turnier_id": turnier_id,
|
||||
"turnier_status": t.status.value,
|
||||
"veranstaltung_status": v.status.value,
|
||||
"gewertete_starts": bericht.gewertete_starts,
|
||||
"vorlaeufige_starts": bericht.vorlaeufige_starts,
|
||||
"abweichungen": [a.__dict__ for a in bericht.abweichungen],
|
||||
|
||||
Reference in New Issue
Block a user