Refactor contact handling across backend and frontend
Replaced usage of "ContactPerson" with "Contact" for consistency across the codebase. Updated related component props, state variables, API calls, and database queries to align with the new model. Also enhanced backend functionality with stricter validations and added support for handling active pgroups in contact management.
This commit is contained in:
@ -366,25 +366,24 @@ class Results(BaseModel):
|
||||
pass
|
||||
|
||||
|
||||
class ContactPersonBase(BaseModel):
|
||||
class ContactCreate(BaseModel):
|
||||
pgroups: str
|
||||
firstname: str
|
||||
lastname: str
|
||||
phone_number: str
|
||||
email: EmailStr
|
||||
|
||||
|
||||
class ContactPersonCreate(ContactPersonBase):
|
||||
pass
|
||||
|
||||
|
||||
class ContactPerson(ContactPersonBase):
|
||||
class Contact(ContactCreate):
|
||||
id: int
|
||||
status: str = "active"
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ContactPersonUpdate(BaseModel):
|
||||
class ContactUpdate(BaseModel):
|
||||
pgroups: str
|
||||
firstname: Optional[str] = None
|
||||
lastname: Optional[str] = None
|
||||
phone_number: Optional[str] = None
|
||||
@ -510,7 +509,7 @@ class DewarBase(BaseModel):
|
||||
shipping_date: Optional[date]
|
||||
arrival_date: Optional[date]
|
||||
returning_date: Optional[date]
|
||||
contact_person_id: Optional[int]
|
||||
contact_id: Optional[int]
|
||||
return_address_id: Optional[int]
|
||||
pucks: List[PuckCreate] = []
|
||||
|
||||
@ -525,7 +524,7 @@ class DewarCreate(DewarBase):
|
||||
class Dewar(DewarBase):
|
||||
id: int
|
||||
shipment_id: Optional[int]
|
||||
contact_person: Optional[ContactPerson]
|
||||
contact: Optional[Contact]
|
||||
return_address: Optional[Address]
|
||||
pucks: List[Puck] = [] # List of pucks within this dewar
|
||||
|
||||
@ -544,7 +543,7 @@ class DewarUpdate(BaseModel):
|
||||
shipping_date: Optional[date] = None
|
||||
arrival_date: Optional[date] = None
|
||||
returning_date: Optional[date] = None
|
||||
contact_person_id: Optional[int] = None
|
||||
contact_id: Optional[int] = None
|
||||
address_id: Optional[int] = None
|
||||
|
||||
|
||||
@ -553,7 +552,7 @@ class DewarSchema(BaseModel):
|
||||
dewar_name: str
|
||||
tracking_number: str
|
||||
status: str
|
||||
contact_person_id: int
|
||||
contact_id: int
|
||||
return_address_id: int
|
||||
|
||||
class Config:
|
||||
@ -574,7 +573,7 @@ class Shipment(BaseModel):
|
||||
shipment_date: date
|
||||
shipment_status: str
|
||||
comments: Optional[str]
|
||||
contact_person: Optional[ContactPerson]
|
||||
contact: Optional[Contact]
|
||||
return_address: Optional[Address]
|
||||
proposal: Optional[Proposal]
|
||||
dewars: List[Dewar] = []
|
||||
@ -588,7 +587,7 @@ class ShipmentCreate(BaseModel):
|
||||
shipment_date: date
|
||||
shipment_status: str
|
||||
comments: Optional[constr(max_length=200)]
|
||||
contact_person_id: int
|
||||
contact_id: int
|
||||
return_address_id: int
|
||||
proposal_id: int
|
||||
dewars: List[DewarCreate] = []
|
||||
@ -621,7 +620,7 @@ class SlotSchema(BaseModel):
|
||||
retrievedTimestamp: Optional[str]
|
||||
beamlineLocation: Optional[str]
|
||||
shipment_name: Optional[str]
|
||||
contact_person: Optional[str]
|
||||
contact: Optional[str]
|
||||
local_contact: Optional[str]
|
||||
|
||||
class Config:
|
||||
|
Reference in New Issue
Block a user