Schedule

class moco_wrapper.models.Schedule(moco)

Class for handling user absences.

Note

For handling planning, use the moco_wrapper.models.PlanningEntry

create(schedule_date: datetime.date, absence_code: moco_wrapper.models.schedule.ScheduleAbsenceCode, user_id: int = None, am: bool = None, pm: bool = None, comment: str = None, symbol: moco_wrapper.models.schedule.ScheduleSymbol = None, overwrite: bool = None)

Create a new schedule entry.

Parameters:
  • schedule_date (datetime.date, str) – date of the entry
  • absence_code (ScheduleAbsenceCode, int) – Type of absence
  • user_id (int) – User id (default None)
  • am (bool) – Morning yes/no (default None)
  • pm (bool) – Afternoon yes/no (default None)
  • comment (str) – Comment text (default None)
  • symbol (ScheduleSymbol, int) – Symbol to use for the schedule item (default None)
  • overwrite (bool) – yes/no overwrite existing entry (default None)
Returns:

The created planning entry

Return type:

moco_wrapper.util.response.ObjectResponse

delete(schedule_id: int)

Delete a schedule entry.

Parameters:schedule_id (int) – Id of the entry to delete
Returns:The deleted schedule object
Return type:moco_wrapper.util.response.ObjectResponse
static endpoints() → List[moco_wrapper.util.endpoint.endpoint.Endpoint]

Returns all endpoints associated with the model

Returns:List of Endpoint objects
Return type:moco_wrapper.util.endpoint.Endpoint
get(schedule_id: int)

Retrieve a single schedule object.

Parameters:schedule_id (int) – Id of the entry
Returns:Single schedule object
Return type:moco_wrapper.util.response.ObjectResponse
getlist(from_date: datetime.date = None, to_date: datetime.date = None, user_id: int = None, absence_code: moco_wrapper.models.schedule.ScheduleAbsenceCode = None, sort_by: str = None, sort_order: str = 'asc', page: int = 1)

Retrieve all planned schedule items.

Parameters:
  • from_date (datetime.date, str) – Start date (default None)
  • to_date (datetime.date, str) – End date (default None)
  • user_id (int) – user id the planned entries are belonging to (default None)
  • absence_code (ScheduleAbsenceCode, int) – Type of absence (default None)
  • sort_by (str) – Field to sort the results by (default None)
  • sort_order (str) – asc or desc (default "asc")
  • page (int) – Page number (default 1)
Returns:

List of schedule objects

Return type:

moco_wrapper.util.response.PagedListResponse

update(schedule_id: int, absence_code: moco_wrapper.models.schedule.ScheduleAbsenceCode = None, am: bool = None, pm: bool = None, comment: str = None, symbol: moco_wrapper.models.schedule.ScheduleSymbol = None, overwrite: bool = None)

Update a schedule entry.

Parameters:
  • schedule_id (int) – Id of the entry to update
  • absence_code (ScheduleAbsenceCode, int) – Type of absence (default None)
  • am (bool) – Morning yes/no (default None)
  • pm (bool) – Afternoon yes/no (default None)
  • comment (str) – Comment text (default None)
  • symbol (ScheduleSymbol, str) – Symbol to use for the schedule item (default None)
  • overwrite (bool) – yes/no overwrite existing entry (default None)
Returns:

The updated schedule entry

Return type:

moco_wrapper.util.response.ObjectResponse

class moco_wrapper.models.schedule.ScheduleAbsenceCode

Enumeration for allowed values of argument absence_code of Schedule.getlist(), Schedule.create() and Schedule.update().

from moco_wrapper.models.schedule import ScheduleAbsenceCode
from moco_wrapper import Moco

m = Moco()
new_schedule = m.Schedule.create(
    ..
    absence_code = ScheduleAbsenceCode.SICK_DAY
)
ABSENCE = 5
HOLIDAY = 4
PUBLIC_HOLIDAY = 2
SICK_DAY = 3
UNPLANNED = 1
class moco_wrapper.models.schedule.ScheduleSymbol

Enumeration for allowed values of argument symbol of Schedule.create() and Schedule.update().

from moco_wrapper.models.schedule import ScheduleSymbol
from moco_wrapper import Moco

m = Moco()
new_schedule = m.Schedule.create(
    ..
    symbol = ScheduleSymbol.HOME
)
BABY_CARRIAGE = 7
BELLS = 6
BUILDING = 2
CAR = 3
COCKTAIL = 5
DOT_CIRCLE = 11
EXCLAMATION_MARK = 12
GRADUATION_CAP = 4
HOME = 1
INFO_CIRCLE = 10
MOON = 9
USERS = 8