function _workflow_metadata_workflow_get_properties in Workflow 7.2
Getter callback for Workflow defined in hook_entity_property_info_alter.
5 calls to _workflow_metadata_workflow_get_properties()
- WorkflowTransition::setValues in includes/
Entity/ WorkflowTransition.php - Helper function for __construct. Used for all children of WorkflowTransition (aka WorkflowScheduledTransition)
- WorkflowTransitionForm::submitForm in includes/
Form/ WorkflowTransitionForm.php - workflow_node_previous_state in ./
workflow.module - Gets the previous state ID of a given entity.
- _workflow_tokens_get_transition in ./
workflow.tokens.inc - Helper function to get the Transition.
- _workflow_transition_form_validate_buttons in ./
workflow.form.inc - Submit callback function for the Workflow Form / DefaultWidget.
1 string reference to '_workflow_metadata_workflow_get_properties'
File
- ./
workflow.entity.inc, line 344 - Integrates workflow with entity API.
Code
function _workflow_metadata_workflow_get_properties($entity, array $options, $name, $entity_type, $property) {
switch ($name) {
// // The workflows of a normal entity.
// case 'workflows':
// $workflow = _workflow_get_workflow_creation_sid($entity_type, $entity, $field_name);
// return $workflow;
// return $entity->getWorkflow();
// The workflows of a Workflow entity.
case 'workflow':
return $entity
->getWorkflow();
case 'states':
return $entity
->getStates();
case 'transitions':
// @todo: for some reason, getTransitions() gives no result.
return $entity
->getTransitions();
case 'old_state':
case 'old-state':
return $entity
->getOldState();
case 'new_state':
case 'new-state':
return $entity
->getNewState();
case 'tab_roles':
// @todo: for some reason, Tab_roles gives no result.
// Code copied from 'user' entity.
return isset($entity->tab_roles) ? array_keys($entity->tab_roles) : array();
case 'langcode':
// Gets the language code of a Workflow Field, hence its State, Transitions.
// '$property' is $field_name.
$langcode = LANGUAGE_NONE;
$wrapper = entity_metadata_wrapper($entity_type, $entity);
if (!$property || !method_exists($wrapper, $property)) {
// Workflow_node. Translations are not supported.
}
else {
// Get language code for a field or property.
// getPropertyLanguage() may return NULL if no language is set,
// or may not exist on properties.
if (isset($wrapper->{$property}) && method_exists($wrapper->{$property}, 'getPropertyLanguage')) {
if (!($langcode = $wrapper->{$property}
->getPropertyLanguage())) {
$langcode = LANGUAGE_NONE;
}
}
}
return $langcode;
case 'entity':
$entity_wrapper = entity_metadata_wrapper($entity->entity_type, $entity->nid);
return $entity_wrapper;
// The following properties need more love. Also test their tokens!
case 'options':
return 'n/a';
}
}