Skip to content

Commit ea6619d

Browse files
committed
Merge pull request #7 from Staffjoy/pto
adding time off requests to library
2 parents 38220ca + 0cc5714 commit ea6619d

File tree

7 files changed

+31
-4
lines changed

7 files changed

+31
-4
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import setup, find_packages
22

3-
version = "0.12"
3+
version = "0.13"
44
setup(name="staffjoy",
55
packages=find_packages(),
66
version=version,

staffjoy/resource.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ def get_all(cls, parent=None, **params):
8181
for data in objects_data:
8282
# Note that this approach does not get meta data
8383
return_objects.append(cls.get(parent=parent,
84-
id=data.get(cls.ID_NAME),
84+
id=data.get(cls.ID_NAME, data.get(
85+
"id")),
8586
data=data))
8687

8788
return return_objects

staffjoy/resources/role.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ class Role(Resource):
88
PATH = "organizations/{organization_id}/locations/{location_id}/roles/{role_id}"
99
ID_NAME = "role_id"
1010

11-
def get_workers(self):
12-
return Worker.get_all(parent=self)
11+
def get_workers(self, **kwargs):
12+
return Worker.get_all(parent=self, **kwargs)
1313

1414
def get_worker(self, id=id):
1515
return Worker.get(parent=self, id=id)

staffjoy/resources/schedule.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from .preference import Preference
33
from .schedule_shift import ScheduleShift
44
from .schedule_timeclock import ScheduleTimeclock
5+
from .schedule_time_off_request import ScheduleTimeOffRequest
56

67

78
class Schedule(Resource):
@@ -23,3 +24,6 @@ def get_schedule_shifts(self, **kwargs):
2324

2425
def get_schedule_timeclocks(self, **kwargs):
2526
return ScheduleTimeclock.get_all(parent=self, **kwargs)
27+
28+
def get_schedule_time_off_requests(self, **kwargs):
29+
return ScheduleTimeOffRequest.get_all(parent=self, **kwargs)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from ..resource import Resource
2+
3+
4+
class ScheduleTimeOffRequest(Resource):
5+
"""this is only a get collection endpoint"""
6+
PATH = "organizations/{organization_id}/locations/{location_id}/roles/{role_id}/schedules/{schedule_id}/timeoffrequests/"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from ..resource import Resource
2+
3+
4+
class TimeOffRequest(Resource):
5+
PATH = "organizations/{organization_id}/locations/{location_id}/roles/{role_id}/users/{user_id}/timeoffrequests/{time_off_request_id}"
6+
ID_NAME = "time_off_request_id"

staffjoy/resources/worker.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from ..resource import Resource
22
from .timeclock import Timeclock
3+
from .time_off_request import TimeOffRequest
34

45

56
class Worker(Resource):
@@ -15,3 +16,12 @@ def get_timeclock(self, id):
1516

1617
def create_timeclock(self, **kwargs):
1718
return Timeclock.create(parent=self, **kwargs)
19+
20+
def get_time_off_requests(self, **kwargs):
21+
return TimeOffRequest.get_all(parent=self, **kwargs)
22+
23+
def get_time_off_request(self, id):
24+
return TimeOffRequest.get(parent=self, id=id)
25+
26+
def create_time_off_request(self, **kwargs):
27+
return TimeOffRequest.create(parent=self, **kwargs)

0 commit comments

Comments
 (0)