function _varbase_workflow_node_type_add_form in Varbase Workflow 2.0.x
Varbase workflow node type add form.
1 string reference to '_varbase_workflow_node_type_add_form'
- varbase_workflow_form_alter in ./
varbase_workflow.module - Implements hook_form_alter().
File
- ./
varbase_workflow.module, line 89 - Contains varbase_workflow.module.
Code
function _varbase_workflow_node_type_add_form(array &$form, FormStateInterface &$form_state) {
$node_type = $form_state
->getFormObject()
->getEntity()
->get('type');
$content_moderation_workflow = $form_state
->getFormObject()
->getEntity()
->get('content_moderation_workflow');
if (isset($content_moderation_workflow) && $content_moderation_workflow != '' && $content_moderation_workflow != '_none') {
$config_factory = \Drupal::service('config.factory');
$workflow_type_settings = $config_factory
->getEditable($content_moderation_workflow)
->get('type_settings');
if (isset($workflow_type_settings['entity_types'])) {
if (isset($workflow_type_settings['entity_types']['node'])) {
if (!in_array($node_type, $workflow_type_settings['entity_types']['node'])) {
$workflow_type_settings['entity_types']['node'][] = $node_type;
$config_factory
->getEditable($content_moderation_workflow)
->set('type_settings', $workflow_type_settings)
->save(TRUE);
}
}
else {
$workflow_type_settings['entity_types']['node'] = [];
$workflow_type_settings['entity_types']['node'][] = $node_type;
$config_factory
->getEditable($content_moderation_workflow)
->set('type_settings', $workflow_type_settings)
->save(TRUE);
}
// Entity updates to clear up any mismatched entity and/or field definitions
// And Fix changes were detected in the entity type and field definitions.
\Drupal::classResolver()
->getInstanceFromDefinition(EntityDefinitionUpdateManager::class)
->applyUpdates();
}
}
}