Add support for requesting shifts
This commit is contained in:
+9
-1
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user