function EntitySerializationTestHooks::entityFieldAccessAlter

Implements hook_entity_field_access_alter().

Overrides some default access control to support testing.

Attributes

#[Hook('entity_field_access_alter')]

See also

Drupal\serialization\Tests\EntitySerializationTest::testUserNormalize()

File

core/modules/serialization/tests/modules/entity_serialization_test/src/Hook/EntitySerializationTestHooks.php, line 22

Class

EntitySerializationTestHooks
Hook implementations for entity_serialization_test.

Namespace

Drupal\entity_serialization_test\Hook

Code

public function entityFieldAccessAlter(array &$grants, array $context) : void {
  // Override default access control from UserAccessControlHandler to allow
  // access to 'pass' field for the test user.
  if ($context['field_definition']->getName() == 'pass' && $context['account']->getAccountName() == 'serialization_test_user') {
    $grants[':default'] = AccessResult::allowed()->inheritCacheability($grants[':default'])
      ->addCacheableDependency($context['items']->getEntity());
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.