Merge branch 'master' of git.xkjq.uk:30001]:ross/proc-rota
This commit is contained in:
+24
-9
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user