OSID Logo
OSID Specifications
calendaring package
Version 3.0.0
Release Candidate Preview
Interfaceosid.calendaring.ScheduleSlotCalendarAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign ScheduleSlots to Calendars. A ScheduleSlot may map to multiple Calendars and removing the last reference to a ScheduleSlot is the equivalent of deleting it. Each Calendar may have its own authorizations governing who is allowed to operate on it.

Moving or adding a reference of a ScheduleSlot to another Calendar is not a copy operation (eg: does not change its Id ).

MethodcanAssignScheduleSlots
Description

Tests if this user can alter schedule slot/calendar mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignScheduleSlotsToCalendar
Description

Tests if this user can alter schedule slot/calendar mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdcalendarIdthe Id of the Calendar
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT calendarId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCalendarIds
Description

Gets a list of calendars including and under the given calendar node in which any schedule slot can be assigned.

Parametersosid.id.IdcalendarIdthe Id of the Calendar
Returnosid.id.IdListlist of assignable calendar Ids
ErrorsNULL_ARGUMENT calendarId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCalendarIdsForScheduleSlot
Description

Gets a list of calendars including and under the given calendar node in which a specific schedule slot can be assigned.

Parametersosid.id.IdcalendarIdthe Id of the Calendar
osid.id.IdscheduleSlotIdthe Id of the ScheduleSlot
Returnosid.id.IdListlist of assignable calendar Ids
ErrorsNULL_ARGUMENT calendarId or scheduleSlotId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignScheduleSlotToCalendar
Description

Adds an existing ScheduleSlot to a Calendar.

Parametersosid.id.IdscheduleSlotIdthe Id of the ScheduleSlot
osid.id.IdcalendarIdthe Id of the Calendar
ErrorsALREADY_EXISTS scheduleSlotId is already assigned to calendarId
NOT_FOUND scheduleSlotId or calendarId not found
NULL_ARGUMENT scheduleSlotId or calendarId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignScheduleSlotFromCalendar
Description

Removes a ScheduleSlot from a Calendar.

Parametersosid.id.IdscheduleSlotIdthe Id of the ScheduleSlot
osid.id.IdcalendarIdthe Id of the Calendar
ErrorsNOT_FOUND scheduleSlotId or calendarId not found or scheduleSlotId not assigned to calendarId
NULL_ARGUMENT scheduleSlotId or calendarId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignScheduleSlotToCalendar
Description

Moves a ScheduleSlot from one Calendar to another. Mappings to other Calendars are unaffected.

Parametersosid.id.IdscheduleSlotIdthe Id of the ScheduleSlot
osid.id.IdfromBillingIdthe Id of the current Calendar
osid.id.IdtoBiillingIdthe Id of the destination Calendar
ErrorsNOT_FOUND scheduleSlotId, fromCalendarId, or toCalendarId not found or scheduleSlotId not mapped to fromCalendarId
NULL_ARGUMENT scheduleSlotId, fromCalendarId, or toCalendarId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.