Add support for requesting shifts

This commit is contained in:
Ross
2020-05-28 18:16:46 +01:00
parent 469674546d
commit 74484db6c6
6 changed files with 171 additions and 26 deletions
+9 -1
View File
@@ -15,7 +15,8 @@ class Worker:
nwd=None,
end_date=None,
oop=None,
pref_not_to_work=None):
pref_not_to_work=None,
work_requests=None,):
self.id = id
self.name = name
self.site = site
@@ -81,6 +82,13 @@ class Worker:
# a single (or fewer) request(s)
Rota.pref_not_to_work[(self.id, week, day)] = 1 / (len(pref_not_to_work) + 1)
if work_requests is not None:
for date, shift in work_requests:
days_from_start = (datetime.datetime.strptime(date, "%Y/%m/%d").date() - Rota.start_date).days
week = days_from_start // 7 + 1
day = Rota.days[(days_from_start % 7)]
Rota.work_requests.add((self.id, week, day, shift))
self.proportion_rota_to_work = days_to_work / Rota.rota_days_length