function UserHooks::userRoleDelete
Implements hook_ENTITY_TYPE_delete() for user_role entities.
File
-
core/
modules/ user/ src/ Hook/ UserHooks.php, line 318
Class
- UserHooks
- Hook implementations for user.
Namespace
Drupal\user\HookCode
public function userRoleDelete(RoleInterface $role) {
// Delete role references for all users.
$user_storage = \Drupal::entityTypeManager()->getStorage('user');
$user_storage->deleteRoleReferences([
$role->id(),
]);
// Ignore the authenticated and anonymous roles or the role is being synced.
if (in_array($role->id(), [
RoleInterface::AUTHENTICATED_ID,
RoleInterface::ANONYMOUS_ID,
]) || $role->isSyncing()) {
return;
}
$actions = Action::loadMultiple([
'user_add_role_action.' . $role->id(),
'user_remove_role_action.' . $role->id(),
]);
foreach ($actions as $action) {
$action->delete();
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.