feat: add group management for workers and shifts, including validation for overlapping groups

This commit is contained in:
Ross
2026-07-09 22:14:30 +01:00
parent 33f50c7278
commit b5525bd3fb
6 changed files with 259 additions and 24 deletions
+11
View File
@@ -274,6 +274,17 @@ class Worker(models.Model):
else:
pyd_kwargs[k] = []
set_keys = ["groups"]
for k in set_keys:
v = pyd_kwargs.get(k, None)
try:
if v is None:
pyd_kwargs[k] = set()
else:
pyd_kwargs[k] = set(v)
except Exception:
pyd_kwargs[k] = set()
# allowed_multi_shift_sets is expected to be a list of sets; if the
# DB contains lists-of-lists convert inner lists to sets.
ams = pyd_kwargs.get("allowed_multi_shift_sets")