TimeTrex API Manual

APISchedule extends APIFactory
in package

Table of Contents

$data  : mixed
$api_message_id  : mixed
$current_company  : mixed
$current_user  : mixed
$current_user_prefs  : mixed
$main_class  : mixed
$main_class_obj  : mixed
$pager_obj  : mixed
$permission  : mixed
$progress_bar_obj  : mixed
__construct()  : mixed
APISchedule constructor.
addPunchesFromScheduledShifts()  : array<string|int, mixed>|bool
Creates punches from an array of scheduled shift ids.
convertAPIReturnHandlerToValidatorObject()  : bool|Validator
Take a API ReturnHandler array and pulls out the Validation errors/warnings to be merged back into another Validator This is useful for calling one API function from another one when their are sub-classes.
convertToMultipleRecords()  : array<string|int, mixed>
convertToSingleRecord()  : mixed
deleteSchedule()  : array<string|int, mixed>|bool
Delete one or more schedules.
exportRecords()  : array<string|int, mixed>|bool
Download a result_set as a csv.
exportSchedule()  : array<string|int, mixed>
Export wage data to csv
getAPIMessageID()  : bool|null
Returns the API messageID for each individual call.
getCombinedSchedule()  : array<string|int, mixed>|bool
Get combined recurring schedule and committed schedule data for one or more schedulees.
getCommonScheduleData()  : array<string|int, mixed>
Get only the fields that are common across all records in the search criteria. Used for Mass Editing of records.
getCurrentCompanyObject()  : bool|CompanyFactory
getCurrentUserObject()  : bool|UserFactory
getCurrentUserPreferenceObject()  : bool|UserPreferenceFactory
getMainClassObject()  : string
getNextInsertID()  : string
getOptions()  : array<string|int, mixed>|bool
Bridge to main class getOptions factory.
getOptionsBatch()  : array<string|int, mixed>
Bridge multiple batched requests to main class getOptions factory.
getOverlappingShifts()  : array<string|int, mixed>|bool
Get overlapping schedule data for one or more schedulees.
getPagerData()  : array<string|int, mixed>|bool
getPagerObject()  : Pager
getPermissionChildren()  : array<string|int, mixed>
getPermissionObject()  : bool|null|Permission
getProgressBarObject()  : null|ProgressBar
getProtocolVersion()  : int
getSchedule()  : array<string|int, mixed>|bool
Get schedule data for one or more schedulees.
getScheduleDefaultData()  : array<string|int, mixed>
Get default schedule data for creating new schedulees.
getScheduleTotalTime()  : array<string|int, mixed>|bool
Get schedule total time
getVariableToFunctionMap()  : array<string|int, mixed>
Bridge to main class getVariableToFunctionMap factory.
handlePermissionFilterColumns()  : array<string|int, mixed>|null
In cases where data can be displayed in just a list_view (dropdown boxes), ie: branch, department, job, task in In/Out punch view restrict the dropdown box to just a subset of columns, so not all data is shown.
handleRecordValidationResults()  : array<string|int, mixed>
initializeFilterAndPager()  : array<string|int, mixed>|bool
isProgressBarStarted()  : bool
returnHandler()  : array<string|int, mixed>|bool
Controls returning information to client in a standard format.
setAPIMessageID()  : bool
setMainClassObject()  : bool
Allow storing the main class object persistently in memory, so we can build up other variables to help out things like getOptions() Mainly used for the APIReport class.
setPagerObject()  : bool
setProgressBarObject()  : bool
setSchedule()  : array<string|int, mixed>|bool
Set schedule data for one or more schedulees.
setValidationArray()  : array<string|int, mixed>|bool
stripReturnHandler()  : mixed
swapSchedule()  : array<string|int, mixed>
Swap schedules with one another. This doesn't work with recurring schedules, and is not used by Flex currently.
validateSchedule()  : array<string|int, mixed>
Validate schedule data for one or more schedulees.

Properties

Methods

__construct()

APISchedule constructor.

public __construct() : mixed
Return values
mixed

addPunchesFromScheduledShifts()

Creates punches from an array of scheduled shift ids.

public addPunchesFromScheduledShifts(array<string|int, mixed> $schedule_arr) : array<string|int, mixed>|bool
Parameters
$schedule_arr : array<string|int, mixed>

should have 2 sub arrays of ids, one labeled 'schedule', one labeled 'recurring'

Return values
array<string|int, mixed>|bool

convertAPIReturnHandlerToValidatorObject()

Take a API ReturnHandler array and pulls out the Validation errors/warnings to be merged back into another Validator This is useful for calling one API function from another one when their are sub-classes.

public convertAPIReturnHandlerToValidatorObject( $api_retarr[, bool $validator_obj = false ]) : bool|Validator
Parameters
$api_retarr :
$validator_obj : bool = false
Return values
bool|Validator

convertToMultipleRecords()

public convertToMultipleRecords(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
Return values
array<string|int, mixed>

convertToSingleRecord()

public convertToSingleRecord(array<string|int, mixed> $data) : mixed
Parameters
$data : array<string|int, mixed>
Return values
mixed

deleteSchedule()

Delete one or more schedules.

public deleteSchedule(array<string|int, mixed> $data) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed>

schedule data

Return values
array<string|int, mixed>|bool

exportRecords()

Download a result_set as a csv.

public exportRecords(string $format, string $file_name, array<string|int, mixed> $result, array<string|int, mixed> $filter_columns) : array<string|int, mixed>|bool
Parameters
$format : string
$file_name : string
$result : array<string|int, mixed>
$filter_columns : array<string|int, mixed>
Return values
array<string|int, mixed>|bool

exportSchedule()

Export wage data to csv

public exportSchedule([string $format = 'csv' ][, array<string|int, mixed> $data = null ][, bool $disable_paging = true ]) : array<string|int, mixed>
Parameters
$format : string = 'csv'

file format (csv)

$data : array<string|int, mixed> = null

filter data

$disable_paging : bool = true
Return values
array<string|int, mixed>

getAPIMessageID()

Returns the API messageID for each individual call.

public getAPIMessageID() : bool|null
Return values
bool|null

getCombinedSchedule()

Get combined recurring schedule and committed schedule data for one or more schedulees.

public getCombinedSchedule([array<string|int, mixed> $data = null ][, int $base_date = null ][, null $type = null ][, null $strict = null ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed> = null

filter data

$base_date : int = null

EPOCH

$type : null = null
$strict : null = null
Return values
array<string|int, mixed>|bool

getCommonScheduleData()

Get only the fields that are common across all records in the search criteria. Used for Mass Editing of records.

public getCommonScheduleData(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

filter data

Return values
array<string|int, mixed>

getMainClassObject()

public getMainClassObject() : string
Return values
string

getNextInsertID()

public getNextInsertID() : string
Return values
string

getOptions()

Bridge to main class getOptions factory.

public getOptions([bool $name = false ][, string|int $parent = null ]) : array<string|int, mixed>|bool
Parameters
$name : bool = false
$parent : string|int = null
Return values
array<string|int, mixed>|bool

getOptionsBatch()

Bridge multiple batched requests to main class getOptions factory.

public getOptionsBatch([array<string|int, mixed> $requested_options = [] ]) : array<string|int, mixed>
Parameters
$requested_options : array<string|int, mixed> = []
Return values
array<string|int, mixed>

getOverlappingShifts()

Get overlapping schedule data for one or more schedulees.

public getOverlappingShifts([array<string|int, mixed> $data = null ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed> = null
Return values
array<string|int, mixed>|bool

getPagerData()

public getPagerData() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

getPermissionChildren()

public getPermissionChildren() : array<string|int, mixed>
Return values
array<string|int, mixed>

getProtocolVersion()

public getProtocolVersion() : int
Return values
int

getSchedule()

Get schedule data for one or more schedulees.

public getSchedule([array<string|int, mixed> $data = null ][, bool $disable_paging = false ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed> = null

filter data

$disable_paging : bool = false
Return values
array<string|int, mixed>|bool

getScheduleDefaultData()

Get default schedule data for creating new schedulees.

public getScheduleDefaultData([array<string|int, mixed> $data = null ]) : array<string|int, mixed>

Also see APIRequestSchedule->getRequestScheduleDefaultData()

Parameters
$data : array<string|int, mixed> = null
Return values
array<string|int, mixed>

getScheduleTotalTime()

Get schedule total time

public getScheduleTotalTime(int $start, int $end[, int $schedule_policy_id = null ][, string $user_id = null ]) : array<string|int, mixed>|bool
Parameters
$start : int

Start date epoch

$end : int

End date epoch

$schedule_policy_id : int = null

Schedule policy ID

$user_id : string = null

UUID

Return values
array<string|int, mixed>|bool

getVariableToFunctionMap()

Bridge to main class getVariableToFunctionMap factory.

public getVariableToFunctionMap(string $name[, string|int $parent = null ]) : array<string|int, mixed>
Parameters
$name : string
$parent : string|int = null
Return values
array<string|int, mixed>

handlePermissionFilterColumns()

In cases where data can be displayed in just a list_view (dropdown boxes), ie: branch, department, job, task in In/Out punch view restrict the dropdown box to just a subset of columns, so not all data is shown.

public handlePermissionFilterColumns(array<string|int, mixed> $filter_columns, array<string|int, mixed> $allowed_columns) : array<string|int, mixed>|null
Parameters
$filter_columns : array<string|int, mixed>
$allowed_columns : array<string|int, mixed>
Return values
array<string|int, mixed>|null

handleRecordValidationResults()

public handleRecordValidationResults(object|bool $validator, array<string|int, mixed> $validator_stats, int $key, array<string|int, mixed>|bool $save_result[, bool $user_generic_status_batch_id = false ][, mixed $system_job_queue = false ]) : array<string|int, mixed>
Parameters
$validator : object|bool
$validator_stats : array<string|int, mixed>
$key : int
$save_result : array<string|int, mixed>|bool
$user_generic_status_batch_id : bool = false
$system_job_queue : mixed = false
Return values
array<string|int, mixed>

initializeFilterAndPager()

public initializeFilterAndPager(array<string|int, mixed> $data[, bool $disable_paging = false ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed>
$disable_paging : bool = false
Return values
array<string|int, mixed>|bool

isProgressBarStarted()

public isProgressBarStarted() : bool
Return values
bool

returnHandler()

Controls returning information to client in a standard format.

public returnHandler([bool $retval = true ][, bool $code = false ][, bool $description = false ][, bool $details = false ][, bool $validator_stats = false ][, bool $user_generic_status_batch_id = false ][, bool $request_data = false ][, bool $system_job_queue = false ]) : array<string|int, mixed>|bool

FIXME: Need to return the original request (with any modified values due to restrictions/validation issues) Also need to return paging data variables here too, as JSON can't make multiple calls. In order to do this we need to always return a special data structure that includes this information. static function returnHandler( $retval = TRUE, $args = array( 'code' => FALSE, 'description' => FALSE, 'details' = FALSE, 'validator_stats' => FALSE, 'user_generic_status_batch_id' => FALSE ) ) { The above will require too many changes, just add two more variables at the end, as it will only really be used by API->get*() functions. FIXME: Use a requestHandler() to handle all input requests, so we can parse out things like validate_only, ignore_warning (for user acknowledgable warnings) and handling all parameter parsing in a central place. static function returnHandler( $retval = TRUE, $code = FALSE, $description = FALSE, $details = FALSE, $validator_stats = FALSE, $user_generic_status_batch_id = FALSE, $request = FALSE, $pager = FALSE ) {

Parameters
$retval : bool = true
$code : bool = false
$description : bool = false
$details : bool = false
$validator_stats : bool = false
$user_generic_status_batch_id : bool = false
$request_data : bool = false
$system_job_queue : bool = false
Return values
array<string|int, mixed>|bool

setAPIMessageID()

public setAPIMessageID(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setMainClassObject()

Allow storing the main class object persistently in memory, so we can build up other variables to help out things like getOptions() Mainly used for the APIReport class.

public setMainClassObject(object $obj) : bool
Parameters
$obj : object
Return values
bool

setPagerObject()

public setPagerObject(object $lf) : bool
Parameters
$lf : object
Return values
bool

setProgressBarObject()

public setProgressBarObject( $progress_bar_obj) : bool
Parameters
$progress_bar_obj :
Return values
bool

setSchedule()

Set schedule data for one or more schedulees.

public setSchedule(array<string|int, mixed> $data[, bool $validate_only = false ][, bool $ignore_warning = true ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed>

schedule data

$validate_only : bool = false
$ignore_warning : bool = true
Return values
array<string|int, mixed>|bool

setValidationArray()

public setValidationArray(array<string|int, Validator$validator_obj_arr[, string $record_label = null ]) : array<string|int, mixed>|bool
Parameters
$validator_obj_arr : array<string|int, Validator>

Array of Validator objects.

$record_label : string = null

Prefix for record label if performing a mass function to differentiate one record from another.

Return values
array<string|int, mixed>|bool

stripReturnHandler()

public stripReturnHandler(mixed $retarr) : mixed
Parameters
$retarr : mixed
Return values
mixed

swapSchedule()

Swap schedules with one another. This doesn't work with recurring schedules, and is not used by Flex currently.

public swapSchedule(array<string|int, mixed> $src_ids, array<string|int, mixed> $dst_ids) : array<string|int, mixed>
Parameters
$src_ids : array<string|int, mixed>

Source schedule IDs

$dst_ids : array<string|int, mixed>

Destination schedule IDs

Return values
array<string|int, mixed>

validateSchedule()

Validate schedule data for one or more schedulees.

public validateSchedule(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

schedule data

Return values
array<string|int, mixed>

Search results