Explizite Vorgabe: keine wachsenden Monolith-Dateien. AdminPage.tsx (349
Zeilen) in pages/admin/{Standort,Material,Objekt}Section.tsx aufgeteilt,
KontrollPage.tsx (277 Zeilen) in pages/kontrolle/{useKontrolle,
PositionCard,StatusBadge,types} aufgeteilt, services/kontrolle.py (332
Zeilen) in ein Package (lifecycle/erfassung/exceptions) aufgeteilt -
öffentliche API bleibt über __init__.py unverändert re-exportiert, kein
bestehender Import musste angepasst werden. Reines Refactoring, keine
Verhaltensänderung.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
18 lines
624 B
Python
18 lines
624 B
Python
from app.models.kontrolle import Kontrolle
|
|
|
|
|
|
class ObjektGesperrtError(Exception):
|
|
"""Prompt 02.8: Objekt wird bereits von einer anderen, laufenden Kontrolle belegt."""
|
|
|
|
def __init__(self, aktive_kontrolle: Kontrolle):
|
|
self.aktive_kontrolle = aktive_kontrolle
|
|
super().__init__("Objekt wird bereits kontrolliert")
|
|
|
|
|
|
class UnvollstaendigError(Exception):
|
|
"""Prompt 16.1: Abschluss mit unbestätigten Positionen."""
|
|
|
|
def __init__(self, fehlende_material_ids: list[int]):
|
|
self.fehlende_material_ids = fehlende_material_ids
|
|
super().__init__("Nicht alle Positionen wurden erfasst")
|