Skip to content
Snippets Groups Projects
Commit f4d5631d authored by Rajan  Kumar's avatar Rajan Kumar Committed by Benjamin Melançon
Browse files

Issue #3445614: Default entity actions displayed when users have no content...

Issue #3445614: Default entity actions displayed when users have no content moderation transition available
parent a3badee0
No related branches found
No related tags found
1 merge request!14changed for apply patch
Pipeline #207390 passed with warnings
......@@ -101,19 +101,29 @@ function workflow_buttons_entity_extra_field_info() {
*/
function workflow_buttons_entity_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
if ($display->getComponent('workflow_buttons')) {
$form_state_additions = [
'workflow_buttons' => TRUE,
];
$form_builder = \Drupal::service('entity.form_builder');
assert($form_builder instanceof FormBuilder);
try {
$form = $form_builder->getForm($entity, 'default', $form_state_additions);
}
// Not all custom entities have a default form, use edit if they don't.
catch (InvalidPluginDefinitionException $e) {
$form = $form_builder->getForm($entity, 'edit', $form_state_additions);
$currentUser = \Drupal::currentUser();
$validator = \Drupal::service('content_moderation.state_transition_validation');
// Get available transitions for user.
$transition = $validator->getValidTransitions($entity, $currentUser);
// Run only if some transitions are available.
if (!empty($transition)) {
$form_state_additions = [
'workflow_buttons' => TRUE,
];
/* @var \Drupal\Core\Form\FormBuilder $form_builder */
$form_builder = \Drupal::service('entity.form_builder');
assert($form_builder instanceof FormBuilder);
try {
$form = $form_builder->getForm($entity, 'default', $form_state_additions);
}
// Not all custom entities have a default form, use edit if they don't.
catch (InvalidPluginDefinitionException $e) {
$form = $form_builder->getForm($entity, 'edit', $form_state_additions);
}
$build['workflow_buttons'] = $form;
}
$build['workflow_buttons'] = $form;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment