Backend: objekt_readiness() in dashboard.py liefert Status+Gründe für
ein einzelnes Objekt, Fallunterscheidung aus einsatzbereitschaft()
extrahiert (_kategorie_und_gruende, keine Duplizierung). Neue Felder
an /akte/objekt/{id}. Frontend: ReadinessBadge + Gründeliste ersetzt
den rohen objekt.status-Badge (Objekt-Lebenszyklus-Status bleibt
separat sichtbar). Dokumente waren in der Akte bisher nur Text ohne
Interaktion - jetzt DokumentePanel eingebunden plus neuer "Ansehen"-
Klick (PDF/Bild im neuen Tab statt Zwangs-Download).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from app.schemas.dokument import DokumentRead
|
|
from app.schemas.geraet_instanz import GeraetInstanzRead
|
|
from app.schemas.historie import HistorieRead
|
|
from app.schemas.mangel import MangelRead
|
|
from app.schemas.objekt import FahrzeugdetailsRead, ObjektRead
|
|
from app.schemas.zustaendigkeit import KontrollverantwortungRead
|
|
|
|
|
|
class ZustaendigerBenutzer(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
id: int
|
|
name: str
|
|
quelle: str # "standort" oder "objekt" (Vereinigungslogik Karte 04)
|
|
|
|
|
|
class AkteRead(BaseModel):
|
|
"""FILE-001..006: gebündelte Aggregations-Sicht über alle bereits existierenden
|
|
Teilbereiche einer Ressource (aktuell nur Objekttyp "objekt" - Prompt 24/Backlog-
|
|
Roadmap sieht perspektivisch weitere Ressourcentypen vor, siehe arbeitskacheln/
|
|
03_digital_file.md)."""
|
|
|
|
objekt: ObjektRead
|
|
einsatzbereitschaft_status: str
|
|
einsatzbereitschaft_gruende: list[str]
|
|
objekttyp_name: str
|
|
standort_name: str
|
|
fahrzeugdetails: FahrzeugdetailsRead | None
|
|
zustaendige_benutzer: list[ZustaendigerBenutzer]
|
|
kontrollverantwortung: list[KontrollverantwortungRead]
|
|
letzte_kontrolle_am: datetime | None
|
|
historie: list[HistorieRead]
|
|
dokumente: list[DokumentRead]
|
|
geraete: list[GeraetInstanzRead]
|
|
maengel: list[MangelRead]
|