Step engine that uses a begin date from the previous round and calculates the end date using the token itself.
| package | Gems |
|---|---|
| subpackage | Tracker |
| copyright | Copyright (c) 2011 Erasmus MC |
| license | New BSD License |
| since | Class available since version 1.4 |
| inherited_from | \Gems_Tracker_Engine_StepEngineAbstract |
__construct(array $trackData)
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::__construct() |
|---|
arrayarray containing track record
addFieldsToModel(\MUtil_Model_ModelAbstract $model, boolean $addDependency= true, $respTrackId= false) : \Gems_Tracker_Engine_TrackEngineAbstract
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::addFieldsToModel() |
|---|
\MUtil_Model_ModelAbstract
booleanTrue when editing, can be false in all other cases
Optional Database column name where Respondent Track Id is set
\Gems_Tracker_Engine_TrackEngineAbstractafterRegistry() : void
applyToMenuSource(\Gems_Menu_ParameterSource $source) : \Gems_Tracker_Engine_TrackEngineInterface
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::applyToMenuSource() |
|---|
\Gems_Menu_ParameterSource
\Gems_Tracker_Engine_TrackEngineInterface(continuation pattern)calculateFieldsInfo(array $data) : string
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::calculateFieldsInfo() |
|---|
arrayThe values to save
stringThe description to save as track_infocalculateRoundCount() : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::calculateRoundCount() |
|---|
integerThe number of rounds in this track.checkRegistryRequestsAnswers() : boolean
booleanFalse if required are missing.checkRoundsFor(\Gems_Tracker_RespondentTrack $respTrack, integer $userId, \Gems_Task_TaskRunnerBatch $batch = null)
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::checkRoundsFor() |
|---|
\Gems_Tracker_RespondentTrackThe respondent track to check
integerId of the user who takes the action (for logging)
checkTokensFrom(\Gems_Tracker_RespondentTrack $respTrack, \Gems_Tracker_Token $startToken, integer $userId, \Gems_Tracker_Token $skipToken = null) : integer
\Gems_Tracker_RespondentTrackThe respondent track to check
\Gems_Tracker_TokenThe token to start at
integerId of the user who takes the action (for logging)
\Gems_Tracker_TokenOptional token to skip in the recalculation
integerThe number of tokens changed by this codecheckTokensFromStart(\Gems_Tracker_RespondentTrack $respTrack, integer $userId) : integer
\Gems_Tracker_RespondentTrackThe respondent track to check
integerId of the user who takes the action (for logging)
integerThe number of tokens changed by this codeconvertTo(\type $conversionTargetClass)
convertTo(\type $conversionTargetClass)
copyTrack(\inte $oldTrackId) : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::copyTrack() |
|---|
\inteThe id of the track to copy
integerThe id of the copied trackdisplayDateCalculation(mixed $value, $new, string $name, array $context = array()) : string
mixedThe value being saved
stringThe name of the current field
arrayOptional, the other values being saved
stringThe value to usedisplayRoundId(mixed $value, $new, string $name, array $context = array()) : string
Makes it empty when not applicable
mixedThe value being saved
stringThe name of the current field
arrayOptional, the other values being saved
stringThe value to usegetAnswerSnippetNames() : array
arrayif string snippet namesgetConversionTargets(array $options) : array
getConversionTargets(array $options) : array
Should always contain at least the class itself.
| see | |
|---|---|
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getConversionTargets() |
arrayThe track engine class options available in as a "track engine class names" => "descriptions" array
arrayFilter or adaptation of $optionsgetDescription() : string
stringNamegetFieldNames() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldNames() |
|---|
arrayfieldid => fieldcodegetFieldUpdateEvent() : \Gems_TrackFieldUpdateEventInterface
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldUpdateEvent() |
|---|
\Gems_TrackFieldUpdateEventInterface| nullgetFields() : array
arrayfieldid => fieldcodegetFieldsData(integer $respTrackId) : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldsData() |
|---|
integerGems respondent track id or null when new
arrayof the existing field values for this respondent trackgetFieldsDataStorageModel() : \Gems\Tracker\Model\FieldDataModel
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldsDataStorageModel() |
|---|
\Gems\Tracker\Model\FieldDataModelgetFieldsDefinition() : \Gems\Tracker\Engine\FieldsDefinition;
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldsDefinition() |
|---|
\Gems\Tracker\Engine\FieldsDefinition;getFieldsMaintenanceModel(boolean $detailed= false, string $action= 'index') : \Gems\Tracker\Model\FieldMaintenanceModel
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldsMaintenanceModel() |
|---|
booleanCreate a model for the display of detailed item data or just a browse table
stringThe current action
\Gems\Tracker\Model\FieldMaintenanceModelgetFieldsOfType(string $fieldType) : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFieldsOfType() |
|---|
string
arrayname => codegetFirstRoundId() : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getFirstRoundId() |
|---|
integerGems id of first roundgetName() : string
stringNamegetNextRoundId(integer $roundId) : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getNextRoundId() |
|---|
integerGems round id
integerGems round idgetPreviousRoundId(integer $roundId, integer $roundOrder = null) : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getPreviousRoundId() |
|---|
integerGems round id
integerOptional extra round order, for when the current round may have changed.
integerGems round idgetRespondentRelationFields() : array
Returns an array of field id => field name
arraygetRound(integer $roundId) : \Gems\Tracker\Round
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRound() |
|---|
integerGems round id
\Gems\Tracker\RoundgetRoundAnswerSnippets(\Gems_Tracker_Token $token) : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundAnswerSnippets() |
|---|
\Gems_Tracker_Token
arrayOf snippet namesgetRoundChangedEvent(integer $roundId) : \Gems_Event_RoundChangedEventInterface
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundChangedEvent() |
|---|
integer
\Gems_Event_RoundChangedEventInterfaceevent instance or nullgetRoundDefaults() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundDefaults() |
|---|
arrayOf fieldname => defaultgetRoundDescriptions() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundDescriptions() |
|---|
arrayroundId => stringgetRoundEditSnippetNames() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundEditSnippetNames() |
|---|
arrayof string snippet namesgetRoundModel(boolean $detailed, string $action) : \MUtil_Model_ModelAbstract
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundModel() |
|---|
booleanCreate a model for the display of detailed item data or just a browse table
stringThe current action
\MUtil_Model_ModelAbstractgetRoundShowSnippetNames() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRoundShowSnippetNames() |
|---|
arrayof string snippet namesgetRounds() : array
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getRounds() |
|---|
arrayof roundId => \Gems\Tracker\RoundgetTokenDeleteSnippetNames(\Gems_Tracker_Token $token) : array
\Gems_Tracker_TokenAllows token status dependent delete snippets
arrayof string snippet namesgetTokenEditSnippetNames(\Gems_Tracker_Token $token) : array
\Gems_Tracker_TokenAllows token status dependent edit snippets
arrayof string snippet namesgetTokenModel() : \Gems_Tracker_Model_StandardTokenModel
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getTokenModel() |
|---|
\Gems_Tracker_Model_StandardTokenModelgetTokenShowSnippetNames(\Gems_Tracker_Token $token) : array
\Gems_Tracker_TokenAllows token status dependent show snippets
arrayof string snippet namesgetTrackCalculationEvent() : \Gems_Event_TrackCalculationEventInterface
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getTrackCalculationEvent() |
|---|
\Gems_Event_TrackCalculationEventInterface| nullgetTrackCompletionEvent() : \Gems_Event_TrackCompletedEventInterface | null
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getTrackCompletionEvent() |
|---|
\Gems_Event_TrackCompletedEventInterfacenull
getTrackCreateSnippetNames() : array
| deprecated | since version 1.7.1 Snippets defined TrackAction |
|---|
arrayof string snippet namesgetTrackDeleteSnippetNames(\Gems_Tracker_RespondentTrack $respTrack) : array
| deprecated | since version 1.7.1 Snippets defined TrackAction |
|---|
\Gems_Tracker_RespondentTrackAllows track status dependent edit snippets
arrayof string snippet namesgetTrackEditSnippetNames(\Gems_Tracker_RespondentTrack $respTrack) : array
| deprecated | since version 1.7.1 Snippets defined TrackAction |
|---|
\Gems_Tracker_RespondentTrackAllows track status dependent edit snippets
arrayof string snippet namesgetTrackId() : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getTrackId() |
|---|
integerThe track idgetTrackName() : string
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::getTrackName() |
|---|
stringThe gems track namegetTrackType() : string
string'T' or 'S'isAppointmentField(string $fieldName) : boolean
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::isAppointmentField() |
|---|
string
booleanisUserCreatable() : boolean
False if this type of track is created by specialized user interface actions.
Engine level function, should be the same for each class instance.
booleanupdateRoundCount(integer $userId) : integer
| inherited_from | \Gems_Tracker_Engine_TrackEngineInterface::updateRoundCount() |
|---|
integerThe current user
integer1 if data changed, 0 otherwiseupdateRoundModelToItem(\MUtil_Model_ModelAbstract $model, array $itemData, string $language)
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
string(ISO) language string
_applyOptions(\MUtil_Model_ModelAbstract $model, string $fieldName, array $options, array $itemData)
\MUtil_Model_ModelAbstract
string
array
arrayThe current items data
_ensureRounds()
Can be overruled by sub classes.
_getAvailableIcons() : array<mixed,string>
array<mixed,string>_sourceUsesSurvey(string $source) : boolean
stringThe current source
booleanaddNewTokens(\Gems_Tracker_RespondentTrack $respTrack, integer $userId) : integer
NOTE: When overruling this function you should not create tokens because they were deleted by the user
\Gems_Tracker_RespondentTrackThe respondent track to check
integerId of the user who takes the action (for logging)
integerThe number of tokens created by this codeapplyDatesValidAfter(\MUtil_Model_ModelAbstract $model, array $itemData, string $language)
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
string(ISO) language string
applyDatesValidFor(\MUtil_Model_ModelAbstract $model, array $itemData, string $language)
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
string(ISO) language string
applyRespondentRelation(\MUtil_Model_ModelAbstract $model, array $itemData) : boolean
For respondent surveys, we allow to set a relation, with possible choices:
null => the respondent 0 => undefined (specifiy when assigning)
0 => the id of the track field of type relation to use
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
booleanTrue if the update changed values (usually by changed selection lists).applySurveyListValidAfter(\MUtil_Model_ModelAbstract $model, array $itemData)
| inherited_from | \Gems_Tracker_Engine_StepEngineAbstract::applySurveyListValidAfter() |
|---|
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
applySurveyListValidAfter(\MUtil_Model_ModelAbstract $model, array $itemData)
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
applySurveyListValidFor(\MUtil_Model_ModelAbstract $model, array $itemData)
| inherited_from | \Gems_Tracker_Engine_StepEngineAbstract::applySurveyListValidFor() |
|---|
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
applySurveyListValidFor(\MUtil_Model_ModelAbstract $model, array $itemData)
\MUtil_Model_ModelAbstractThe round model
arrayThe current items data
calculateFromDate(\MUtil_Date $startDate, string $type, integer $period) : \MUtil_Date
\MUtil_Date
string
integer
\MUtil_DatecalculateUntilDate(\MUtil_Date $startDate, string $type, integer $period) : \MUtil_Date
\MUtil_Date
string
integer
\MUtil_DatecheckExistingRoundsFor(\Gems_Tracker_RespondentTrack $respTrack, integer $userId) : integer
\Gems_Tracker_RespondentTrackThe respondent track to check
integerId of the user who takes the action (for logging)
integerThe number of tokens changed by this codecreateRoundModel() : \Gems_Model_JoinModel
\Gems_Model_JoinModelgetDateOptionsFor($sourceType, integer $roundId, string $language, boolean $validAfter) : \type
integerGems round id
string(ISO) language string
booleanTrue if it concenrs _valid_after_ dates
\typegetRoundTranslations() : array
arrayroundId => display stringgetSourceList(boolean $validAfter, boolean $firstRound, boolean $detailed = true) : array
booleanTrue if it concerns _valid_after_ dates
booleanList for first round
booleanReturn extended info
arraysource_name => labelgetSurveyId(integer $roundId) : integer
integerGems round id
integerGems survey idgetValidFromDate(string $fieldSource, string $fieldName, integer $prevRoundId, \Gems_Tracker_Token $token, \Gems_Tracker_RespondentTrack $respTrack) : \MUtil_Date
| inherited_from | \Gems_Tracker_Engine_StepEngineAbstract::getValidFromDate() |
|---|
stringSource for field from round
stringName from round
integerId from round
\Gems_Tracker_Token
\Gems_Tracker_RespondentTrack
\MUtil_Datedate time or nullgetValidFromDate(string $fieldSource, string $fieldName, integer $prevRoundId, \Gems_Tracker_Token $token, \Gems_Tracker_RespondentTrack $respTrack) : \MUtil_Date
stringSource for field from round
stringName from round
integerId from round
\Gems_Tracker_Token
\Gems_Tracker_RespondentTrack
\MUtil_Datedate time or nullgetValidUntilDate(string $fieldSource, string $fieldName, integer $prevRoundId, \Gems_Tracker_Token $token, \Gems_Tracker_RespondentTrack $respTrack, \MUtil_Date $validFrom) : \MUtil_Date
| inherited_from | \Gems_Tracker_Engine_StepEngineAbstract::getValidUntilDate() |
|---|
stringSource for field from round
stringName from round
integerId from round
\Gems_Tracker_Token
\Gems_Tracker_RespondentTrack
\MUtil_DateThe calculated new valid from value or null
\MUtil_Datedate time or nullgetValidUntilDate(string $fieldSource, string $fieldName, integer $prevRoundId, \Gems_Tracker_Token $token, \Gems_Tracker_RespondentTrack $respTrack, \MUtil_Date $validFrom) : \MUtil_Date
stringSource for field from round
stringName from round
integerId from round
\Gems_Tracker_Token
\Gems_Tracker_RespondentTrack
\MUtil_DateThe calculated new valid from value
\MUtil_Datedate time or nullremoveInactiveRounds(\Gems_Tracker_RespondentTrack $respTrack, integer $userId) : integer
\Gems_Tracker_RespondentTrackThe respondent track to check
integerId of the user who takes the action (for logging)
integerThe number of tokens changed by this codesetDateListFor(\MUtil_Model_ModelAbstract $model, string $fieldName, string $source, integer $roundId, string $language, boolean $validAfter)
\MUtil_Model_ModelAbstractThe round model
stringThe valid_X_field to set
stringThe date list source as defined by this object
integerOptional a round id
string(ISO) language string
booleanTrue if it concerns _valid_after_ dates
_update(array $values, integer $userId) : integer
arrayThe values that this token should be set to
integerThe current user
integer1 if data changed, 0 otherwise$_fieldsDefinition : \Gems\Tracker\Engine\FieldsDefinition;
$_roundModelClass : string
'MUtil_Model_TableModel'$_roundObjects : array
$_rounds : array
$_trackData : array
$_trackId : integer
$db : \Zend_Db_Adapter_Abstract
$events : \Gems_Events
$loader : \Gems_Loader
$locale : \Zend_Locale
$project : \Gems_Project_ProjectSettings
$tracker : \Gems_Tracker
$util : \Gems_Util
$view : \Zend_View
ANSWER_TABLE = 'ans'
APPOINTMENT_TABLE = 'app'
NO_TABLE = 'nul'
RESPONDENT_TRACK_TABLE = 'rtr'
TOKEN_TABLE = 'tok'