function EntityOperations::entityPredelete
Same name in this branch
- 11.x core/modules/workspaces/src/EntityOperations.php \Drupal\workspaces\EntityOperations::entityPredelete()
Same name in other branches
- 9 core/modules/workspaces/src/EntityOperations.php \Drupal\workspaces\EntityOperations::entityPredelete()
- 8.9.x core/modules/workspaces/src/EntityOperations.php \Drupal\workspaces\EntityOperations::entityPredelete()
- 10 core/modules/workspaces/src/EntityOperations.php \Drupal\workspaces\EntityOperations::entityPredelete()
Implements hook_entity_predelete().
File
-
core/
modules/ workspaces/ src/ Hook/ EntityOperations.php, line 216
Class
- EntityOperations
- Defines a class for reacting to entity runtime hooks.
Namespace
Drupal\workspaces\HookCode
public function entityPredelete(EntityInterface $entity) : void {
if ($entity->getEntityTypeId() === 'workspace') {
$this->workspaceRepository
->resetCache();
}
if ($this->shouldSkipOperations($entity)) {
return;
}
// Prevent the entity from being deleted if the entity type does not have
// support for workspaces, or if the entity has a published default
// revision.
$active_workspace = $this->workspaceManager
->getActiveWorkspace();
if (!$this->workspaceInfo
->isEntitySupported($entity) || !$this->workspaceInfo
->isEntityDeletable($entity, $active_workspace)) {
throw new \RuntimeException("This {$entity->getEntityType()->getSingularLabel()} can only be deleted in the Live workspace.");
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.