Files
MABEA/backend/app/schemas/lagerbewegung.py
T
patrickandClaude Sonnet 5 417df2beb6
CI / backend-tests (push) Failing after 1m47s
CI / frontend-build (push) Successful in 17s
feat(lager): Lagerbewegung-Protokoll (Roadmap Phase 4, Modul Lager)
Objekt bleibt der Materialträger (Rucksack/Gerät/Fahrzeug, Karte 11) -
"Material verschieben" heißt: das Objekt bekommt einen neuen Standort, jede
Bewegung wird append-only protokolliert (Wer/Wann/Von/Nach/Grund, Nutzer-
Vorgabe Modul 5).

POST /objekte/{id}/lagerbewegungen setzt Standort + protokolliert in einem
Zug, GET /lagerbewegungen (Filter objekt_id/standort_id) für die Historie.
Rollen wie beim Mangel-Modul: Materialverantwortliche+Leitung+Admin dürfen
verschieben, alle Eingeloggten dürfen lesen.

Frontend: "Verschieben"-Aktion in ObjektSection, neuer Admin-Tab
"Lagerbewegungen" (reine Anzeige, analog HistorieSection).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
2026-09-05 13:46:33 +02:00

21 lines
433 B
Python

import uuid
from datetime import datetime
from pydantic import BaseModel, ConfigDict
class LagerbewegungCreate(BaseModel):
nach_standort_id: int
grund: str | None = None
class LagerbewegungRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
objekt_id: int
von_standort_id: int | None
nach_standort_id: int
benutzer_id: int
zeitpunkt: datetime
grund: str | None