package Gems
subpackage Tracker
copyright Copyright (c) 2014 Erasmus MC
license New BSD License
since Class available since version 1.6.3

 Methods

Construct the defintion for this gems__tracks track id.

__construct(integer $trackId) 

Parameters

$trackId

integer

The track id from gems__tracks

Called after the check that all required registry values have been set correctly has run.

afterRegistry() : void

Calculate the content for the track info field using the other fields

calculateFieldsInfo(array $data) : string

Parameters

$data

array

The field values

Returns

stringThe description to save as track_info

Get model dependency that changes model settings for each row when loaded

getDataModelDependency() : \MUtil\Model\Dependency\DependencyInterface

Returns

\MUtil\Model\Dependency\DependencyInterfaceor null

Get a big array with model settings for fields in a track

getDataModelSettings() : array

Returns

arrayfieldname => array(settings)

Get the storage model for field values

getDataStorageModel() : \Gems\Tracker\Model\FieldDataModel

Returns

\Gems\Tracker\Model\FieldDataModel

Get a specific field

getField(string $key) : \Gems\Tracker\Field\FieldInterface

Parameters

$key

string

Returns

\Gems\Tracker\Field\FieldInterface

Get a specific field by field order

getFieldByOrder(integer $order) : \Gems\Tracker\Field\FieldInterface

Parameters

$order

integer

Returns

\Gems\Tracker\Field\FieldInterface

Returns an array of the fields in this track key / value are id / code

getFieldCodes() : array

Returns

arrayfieldid => fieldcode

Returns an array name => code of all the fields of the type specified

getFieldCodesOfType(string $fieldType) : array

Parameters

$fieldType

string

Returns

arrayname => code

Returns an array name => label of all the fields of the type specified

getFieldLabelsOfType(string|array $fieldType) : array

Parameters

$fieldType

stringarray

One or more field types

Returns

arrayname => code

Returns an array of the fields in this track key / value are id / field name

getFieldNames() : array

Returns

arrayfieldid => fieldcode

Returns the field data for the respondent track id.

getFieldsDataFor(integer $respTrackId) : array

Parameters

$respTrackId

integer

Gems respondent track id or null when new

Returns

arrayof the existing field values for this respondent track

Returns a model that can be used to retrieve or save the field definitions for the track editor.

getMaintenanceModel(boolean $detailed = false, string $action = 'index') : \Gems\Tracker\Model\FieldMaintenanceModel

Parameters

$detailed

boolean

Create a model for the display of detailed item data or just a browse table

$action

string

The current action

Returns

\Gems\Tracker\Model\FieldMaintenanceModel

True when this track contains appointment fields

hasAppointmentFields() : boolean

Returns

boolean

Is the field an appointment type

isAppointment(string $fieldName) : boolean

Parameters

$fieldName

string

Returns

boolean

Make the external field key

makeKey(string $sub, integer $fieldId) : string
Static

Parameters

$sub

string

$fieldId

integer

Returns

string

Processes the values and and changes them as required

processBeforeSave(array $fieldData, array $trackData) : array

Parameters

$fieldData

array

The field values

$trackData

array

The currently available track data (track id may be empty)

Returns

arrayThe processed data

Saves the field data for the respondent track id.

saveFields(integer $respTrackId, array $fieldData) : integer

Parameters

$respTrackId

integer

Gems respondent track id

$fieldData

array

The values to save

Returns

integerThe number of changed fields

Split an external field key in component parts

splitKey($key) : array
Static

Parameters

$key

Returns

array'sub' => suIdb, 'gtf_id_field; => fieldId

Loads the $this->_trackFields array, if not already there

_ensureTrackFields() 

 Properties

 

True when the fields have changed during the last call to processBeforeSave

$changed : boolean

Default

false
 

True when there exist fields

$exists : boolean

Default

false
 

The storage model for field data

$_dataModel : array

Default

array()
 

Can be an empty array.

$_fields : array

Default

false
 

Stores the models for each action

$_maintenanceModels : array

Default

array()
 

Can be an empty array.

$_trackFields : array

Default

false
 

$_trackId

$_trackId : integer

Default

 

$db

$db : \Zend_Db_Adapter_Abstract

Default

 

Maximum length of the track info field

$maxTrackInfoChars : integer

Default

250
 

$tracker

$tracker : \Gems_Tracker

Default

 

$util

$util : \Gems_Util

Default

 

Cache for appointment fields check

$_hasAppointmentFields : boolean

Default

null

 Constants

 

Field key separator

FIELD_KEY_SEPARATOR = '__' 
 

Appointment type

TYPE_APPOINTMENT = 'appointment' 
 

Date type

TYPE_DATE = 'date' 
 

Date type

TYPE_DATETIME = 'datetime'