Add beamtime assignment functionality for dewars and pucks

Implemented API endpoints and frontend logic to assign/unassign beamtime to dewars and pucks. Enhanced schemas, models, and styles while refactoring related frontend components for better user experience and data handling.
This commit is contained in:
GotthardG
2025-05-06 17:14:21 +02:00
parent 26f8870d04
commit 9e5734f060
6 changed files with 405 additions and 137 deletions

View File

@ -568,6 +568,7 @@ class DewarBase(BaseModel):
tracking_number: str
number_of_pucks: Optional[int] = None
number_of_samples: Optional[int] = None
created_at: Optional[datetime] = None
status: str
contact_id: Optional[int]
return_address_id: Optional[int]
@ -584,6 +585,7 @@ class DewarCreate(DewarBase):
class Dewar(DewarBase):
id: int
pgroups: str
created_at: Optional[datetime] = None
shipment_id: Optional[int]
contact: Optional[Contact]
return_address: Optional[Address]
@ -772,6 +774,18 @@ class PuckWithTellPosition(BaseModel):
from_attributes = True
class PuckResponse(BaseModel):
id: int
puck_name: str
class DewarWithPucksResponse(BaseModel):
id: int
dewar_name: str
created_at: datetime
pucks: List[PuckResponse]
class Beamtime(BaseModel):
id: int
pgroups: str