feat(fahrzeug): Fahrzeug-Spezialfelder + 5-stufiger Status (Roadmap Phase 3)
CI / backend-tests (push) Failing after 1m40s
CI / frontend-build (push) Successful in 17s

Neue Tabelle fahrzeugdetails (1:1 zu Objekt, additiv/optional): Kennzeichen,
Funkrufname, Baujahr, Kilometerstand, Betriebsstunden, nächste HU/UVV.
objekt_status um 'in_wartung' erweitert (Nutzer-Vorgabe: einsatzbereit/
eingeschränkt/nicht einsatzbereit/in Wartung/außer Dienst - die ersten drei
bleiben weiterhin rein rechnerisch über dashboard.einsatzbereitschaft(),
in_wartung/ausser_dienst sind die beiden manuell gesetzten Zustände).

dashboard.einsatzbereitschaft(): ausser_dienst-Objekte zählen nicht mehr mit,
in_wartung und überfällige HU/UVV sind neue Gründe für "nicht einsatzbereit".

dashboard.bevorstehende_prueftermine() (Kachel 2) zeigt jetzt Geräte- UND
Fahrzeugprüfungen (HU/UVV) in einer Liste (Nutzer-Vorgabe: ein Konzept für
"welche Prüfungen bald fällig sind") - Schema dafür verallgemeinert
(typ/bezeichnung/faelligkeitsdatum statt geräte-spezifischer Felder).

Frontend: Status-Dropdown + Fahrzeugdetails-Formular in ObjektSection
(nur für Objekttypen mit ist_zugfahrzeug=True), Dashboard-Kachel 2 zeigt
gemischte Liste.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
This commit is contained in:
2026-09-05 13:36:01 +02:00
co-authored by Claude Sonnet 5
parent eb20affd5d
commit 15fb8dbb16
12 changed files with 545 additions and 31 deletions
+72
View File
@@ -3925,3 +3925,75 @@ Keine Commits in dieser Session.
- frontend/src/pages/admin/QualifikationSection.tsx | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-09-05 13:20 13:24 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
- eb20aff feat(mangel): Mangel-Ticket-System (Roadmap Phase 2)
### Geänderte Dateien
- DEVLOG.md | 27 +++++++++++++
- backend/alembic/versions/0013_mangel.py | 62 +++++++++++++++++++++++++++++
- backend/app/api/v1/api.py | 2 +
- backend/app/api/v1/endpoints/mangel.py | 85 +++++++++++++++++++++++++++++++++++++++
- backend/app/models/mangel.py | 61 ++++++++++++++++++++++++++++
- backend/app/schemas/mangel.py | 42 ++++++++++++++++++++
- backend/app/services/dashboard.py | 5 +++
- backend/app/services/mangel.py | 33 ++++++++++++++++
- backend/tests/test_mangel.py | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx | 9 +++++
- frontend/src/api/types.ts | 17 ++++++++
- frontend/src/components/AppShell.tsx | 3 ++
- frontend/src/pages/DashboardPage.tsx | 1 +
- frontend/src/pages/MangelListePage.tsx | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-09-05 13:26 13:28 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 27 +++++++++++++
- backend/alembic/versions/0013_mangel.py | 62 +++++++++++++++++++++++++++++
- backend/app/api/v1/api.py | 2 +
- backend/app/api/v1/endpoints/mangel.py | 85 +++++++++++++++++++++++++++++++++++++++
- backend/app/models/mangel.py | 61 ++++++++++++++++++++++++++++
- backend/app/schemas/mangel.py | 42 ++++++++++++++++++++
- backend/app/services/dashboard.py | 5 +++
- backend/app/services/mangel.py | 33 ++++++++++++++++
- backend/tests/test_mangel.py | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx | 9 +++++
- frontend/src/api/types.ts | 17 ++++++++
- frontend/src/components/AppShell.tsx | 3 ++
- frontend/src/pages/DashboardPage.tsx | 1 +
- frontend/src/pages/MangelListePage.tsx | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-09-05 13:29 13:30 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 27 +++++++++++++
- backend/alembic/versions/0013_mangel.py | 62 +++++++++++++++++++++++++++++
- backend/app/api/v1/api.py | 2 +
- backend/app/api/v1/endpoints/mangel.py | 85 +++++++++++++++++++++++++++++++++++++++
- backend/app/models/mangel.py | 61 ++++++++++++++++++++++++++++
- backend/app/schemas/mangel.py | 42 ++++++++++++++++++++
- backend/app/services/dashboard.py | 5 +++
- backend/app/services/mangel.py | 33 ++++++++++++++++
- backend/tests/test_mangel.py | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx | 9 +++++
- frontend/src/api/types.ts | 17 ++++++++
- frontend/src/components/AppShell.tsx | 3 ++
- frontend/src/pages/DashboardPage.tsx | 1 +
- frontend/src/pages/MangelListePage.tsx | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---