You are here

function user_access_test_user_access in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/user/tests/modules/user_access_test/user_access_test.module \user_access_test_user_access()
  2. 9 core/modules/user/tests/modules/user_access_test/user_access_test.module \user_access_test_user_access()

Implements hook_ENTITY_TYPE_access() for entity type "user".

File

core/modules/user/tests/modules/user_access_test/user_access_test.module, line 17
Dummy module implementing hook_user_access() to test if entity access is respected.

Code

function user_access_test_user_access(User $entity, $operation, $account) {
  if ($entity
    ->getAccountName() == "no_edit" && $operation == "update") {

    // Deny edit access.
    return AccessResult::forbidden();
  }
  if ($entity
    ->getAccountName() == "no_delete" && $operation == "delete") {

    // Deny delete access.
    return AccessResult::forbidden();
  }

  // Account with role sub-admin can manage users with no roles.
  if (count($entity
    ->getRoles()) == 1) {
    return AccessResult::allowedIfHasPermission($account, 'sub-admin');
  }
  return AccessResult::neutral();
}