function maestro_update_8001 in Maestro 3.x
Same name and namespace in other branches
- 8.2 maestro.install \maestro_update_8001()
Update 8001 - Create maestro_process_status entity.
File
- ./
maestro.install, line 16 - Install, update and uninstall functions for the Maestro module.
Code
function maestro_update_8001() {
// Check if the table exists first. If not, then create the entity.
if (\Drupal::service('database')
->schema()
->tableExists('maestro_process_status') === FALSE) {
\Drupal::entityTypeManager()
->clearCachedDefinitions();
\Drupal::entityDefinitionUpdateManager()
->installEntityType(\Drupal::entityTypeManager()
->getDefinition('maestro_process_status'));
// Now add the required variables to each of the templates. Existing in-production templates will not be affected.
$templates = MaestroEngine::getTemplates();
foreach ($templates as $template) {
$variables = $template->variables;
if (!array_key_exists('workflow_timeline_stage_count', $variables)) {
$template->variables['workflow_timeline_stage_count'] = [
'variable_id' => 'workflow_timeline_stage_count',
'variable_value' => '',
];
}
if (!array_key_exists('workflow_current_stage', $variables)) {
$template->variables['workflow_current_stage'] = [
'variable_id' => 'workflow_current_stage',
'variable_value' => '',
];
}
if (!array_key_exists('workflow_current_stage_message', $variables)) {
$template->variables['workflow_current_stage_message'] = [
'variable_id' => 'workflow_current_stage_message',
'variable_value' => '',
];
}
$template
->save();
}
}
else {
return 'Process Status entity already exists';
}
}