Optionaler Stopp nach der Gliederung je Version

Häkchen beim Anlegen und bei „Neue Version“: der Lauf hält nach der
Gliederung als „pausiert“ an, damit man sie prüfen kann, bevor die
Kapitel geschrieben werden. „Fortsetzen“ schreibt weiter.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
team3
2026-10-12 15:52:14 +02:00
parent 78a74d140b
commit 4cd4b7ed2e
8 changed files with 31 additions and 15 deletions

View File

@@ -30,10 +30,12 @@ class ThemaNeu(BaseModel):
name: str
hinweise: str = ""
spezialisierung: str = ""
stopp_gliederung: bool = False
class VersionNeu(BaseModel):
hinweise: str | None = None # None: wie die bisherige Version
stopp_gliederung: bool = False
class Position(BaseModel):
@@ -89,7 +91,7 @@ async def thema_anlegen(body: ThemaNeu):
if not state.name_ok(name) or not state.name_ok(state.bezeichnung(name, body.spezialisierung.strip())):
raise HTTPException(400, "Ungültiger Name")
try:
return _thema_info(state.anlegen(name, body.hinweise, body.spezialisierung))
return _thema_info(state.anlegen(name, body.hinweise, body.spezialisierung, body.stopp_gliederung))
except ValueError as e:
raise HTTPException(409, str(e))
@@ -112,7 +114,7 @@ async def thema_loeschen(slug: str):
async def version_anlegen(slug: str, body: VersionNeu | None = None):
"""Neue Version: frischer Lauf ohne Wissen über die Vorgänger; Hinweise wahlweise geändert."""
b = body or VersionNeu()
key = state.version_anlegen(_thema(slug)["name"], b.hinweise)
key = state.version_anlegen(_thema(slug)["name"], b.hinweise, b.stopp_gliederung)
return {"v": int(key.rsplit("/v", 1)[1])}