From 6f3143f9535d88d54f63d9354e906b89d57b764f Mon Sep 17 00:00:00 2001 From: linus Date: Sat, 5 Sep 2026 20:32:12 +0200 Subject: [PATCH] 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 --- src/oamc/api/v1/ingest.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/oamc/api/v1/ingest.py b/src/oamc/api/v1/ingest.py index 1b4b2ee..bb61ca2 100644 --- a/src/oamc/api/v1/ingest.py +++ b/src/oamc/api/v1/ingest.py @@ -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],