function EntitySerializationTestHooks::entityFieldAccessAlter

Implements hook_entity_field_access_alter().

Overrides some default access control to support testing.

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.