feat(dashboard): drei fehlende Kacheln (Kennzahlen, Mängel, Qualifikationsablauf)
Kennzahlen: bestehender Endpoint /dashboard/kennzahlen war seit Prompt 12.1 nie im Frontend verdrahtet - jetzt eigene Kachel (offene Fehlbestände, genehmigte Mindermengen, kürzlich erledigt, problematische Objekte, Objekte gesamt). Mängel: eigene Übersicht (offen/kritisch-Zahl + aufklappbare Liste) zusätzlich zur bisherigen Erwähnung als Grund in Kachel 1 - nutzt bestehendes GET /maengel, kein neuer Backend-Code. Qualifikationsablauf: neuer Endpoint /dashboard/qualifikationsablaeufe (bevorstehende_qualifikationsablaeufe(), 60 Tage Vorlauf) - analog bevorstehende_prueftermine, aber für BenutzerQualifikation.gueltig_bis (Nutzer-Vorgabe: "wer verliert bald Führerschein/Lehrgang-Gültigkeit"). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
This commit is contained in:
@@ -9,10 +9,12 @@ from app.schemas.dashboard import (
|
||||
EinsatzbereitschaftRead,
|
||||
KennzahlenRead,
|
||||
PrueftermineintragRead,
|
||||
QualifikationsablaufRead,
|
||||
)
|
||||
from app.services.dashboard import (
|
||||
bevorstehende_ablaufdaten,
|
||||
bevorstehende_prueftermine,
|
||||
bevorstehende_qualifikationsablaeufe,
|
||||
einsatzbereitschaft,
|
||||
kennzahlen,
|
||||
)
|
||||
@@ -54,3 +56,14 @@ async def hole_prueftermine(
|
||||
"""Kachel 2 Leitungs-Dashboard: Geräteprüfungen (Karte 14), bewusst getrennt
|
||||
von /dashboard/ablaufdaten (Nutzer-Entscheidung: Prüfung ≠ Ablauf)."""
|
||||
return [PrueftermineintragRead(**eintrag) for eintrag in await bevorstehende_prueftermine(db)]
|
||||
|
||||
|
||||
@router.get("/dashboard/qualifikationsablaeufe", response_model=list[QualifikationsablaufRead])
|
||||
async def hole_qualifikationsablaeufe(
|
||||
db: AsyncSession = Depends(get_db), _=Depends(_verantwortliche)
|
||||
) -> list[QualifikationsablaufRead]:
|
||||
"""Kachel Personal-Modul: bald ablaufende/abgelaufene Führerscheine/
|
||||
Lehrgänge/Berechtigungen."""
|
||||
return [
|
||||
QualifikationsablaufRead(**eintrag) for eintrag in await bevorstehende_qualifikationsablaeufe(db)
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user