Merge branch 'master' of git.xkjq.uk:30001]:ross/proc-rota

This commit is contained in:
Ross
2022-01-15 18:45:03 +00:00
12 changed files with 1381 additions and 686 deletions
+24 -9
View File
@@ -2,28 +2,36 @@ import datetime
from collections import defaultdict
# from shifts import RotaBuilder, days, sites
import uuid
class Worker:
def __init__(
self,
Rota,
id,
name,
site,
grade,
fte=100,
grade: int,
id=None,
fte: int = 100,
nwd=None,
end_date=None,
oop=None,
not_available_to_work=None,
pref_not_to_work=None,
work_requests=None,
night_site="plymouth", # We set a default night_site
previous_shifts={},
pair=0,
night_site: str = "plymouth", # We set a default proc_site
previous_shifts: dict = {},
shift_balance_extra: dict = {},
bank_holiday_extra: int = 0,
pair: int = 0,
):
self.id = id
# We can either have a user generated ID
if id is not None:
self.id = id
else:
self.id = uuid.uuid4()
self.name = name
self.site = site
# Grade are equivalent to roles, by keeping them integer defining model
@@ -33,8 +41,14 @@ class Worker:
self.nwd = nwd
self.proportion_rota_to_work = 1
self.pair = pair
self.shift_balance_extra = shift_balance_extra
self.bank_holiday_extra = bank_holiday_extra
self.night_site = night_site
self.proc_site = night_site
if night_site == "plymouth" or night_site == "":
self.night_at_derriford = 1
else:
self.night_at_derriford = 0
self.previous_shifts = previous_shifts
@@ -157,7 +171,8 @@ class Worker:
self.name,
(self.site, self.grade, self.fte_adj),
nwd,
self.night_site,
self.proc_site,
self.night_at_derriford,
)
def get_details(self):