Add support for avoiding shifts on specific dates with reasons
This commit is contained in:
@@ -117,6 +117,7 @@ class AvoidShiftOnDates(BaseModel):
|
||||
start_date: Optional[datetime.date] = None
|
||||
end_date: Optional[datetime.date] = None
|
||||
dates: Optional[list[datetime.date]] = None
|
||||
reason: Optional[str] = None
|
||||
|
||||
@field_validator("start_date", "end_date", mode="before")
|
||||
def coerce_dates(cls, v):
|
||||
@@ -428,6 +429,7 @@ class Worker(BaseModel):
|
||||
"start_date": av.start_date,
|
||||
"end_date": av.end_date,
|
||||
"dates": av.dates,
|
||||
"reason": getattr(av, "reason", None),
|
||||
}
|
||||
# append to rota-level list; the model builder will enforce these
|
||||
if hasattr(Rota.constraint_options_model, "avoid_shifts_by_worker_dates"):
|
||||
|
||||
Reference in New Issue
Block a user