function EntityPermissionsRouteProvider::getEntityPermissionsRoute

Same name and namespace in other branches
  1. 10 core/modules/user/src/Entity/EntityPermissionsRouteProvider.php \Drupal\user\Entity\EntityPermissionsRouteProvider::getEntityPermissionsRoute()
  2. 11.x core/modules/user/src/Entity/EntityPermissionsRouteProvider.php \Drupal\user\Entity\EntityPermissionsRouteProvider::getEntityPermissionsRoute()

Gets the entity permissions route.

Built only for entity types that are bundles of other entity types and define the 'entity-permissions-form' link template.

Parameters

\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type.

Return value

\Symfony\Component\Routing\Route|null The generated route, if available.

2 calls to EntityPermissionsRouteProvider::getEntityPermissionsRoute()
EntityPermissionsRouteProvider::getRoutes in core/modules/user/src/Entity/EntityPermissionsRouteProvider.php
Provides routes for entities.
EntityPermissionsRouteProviderWithCheck::getEntityPermissionsRoute in core/modules/user/src/Entity/EntityPermissionsRouteProviderWithCheck.php
Gets the entity permissions route.
1 method overrides EntityPermissionsRouteProvider::getEntityPermissionsRoute()
EntityPermissionsRouteProviderWithCheck::getEntityPermissionsRoute in core/modules/user/src/Entity/EntityPermissionsRouteProviderWithCheck.php
Gets the entity permissions route.

File

core/modules/user/src/Entity/EntityPermissionsRouteProvider.php, line 79

Class

EntityPermissionsRouteProvider
Provides routes for the entity permissions form.

Namespace

Drupal\user\Entity

Code

protected function getEntityPermissionsRoute(EntityTypeInterface $entity_type) : ?Route {
    if (!$entity_type->hasLinkTemplate('entity-permissions-form')) {
        return NULL;
    }
    if (!($bundle_of_id = $entity_type->getBundleOf())) {
        return NULL;
    }
    $entity_type_id = $entity_type->id();
    $route = new Route($entity_type->getLinkTemplate('entity-permissions-form'), [
        '_title' => 'Manage permissions',
        '_form' => 'Drupal\\user\\Form\\EntityPermissionsForm',
        'entity_type_id' => $bundle_of_id,
        'bundle_entity_type' => $entity_type_id,
    ], [
        '_permission' => 'administer permissions',
    ], [
        // Indicate that Drupal\Core\Entity\Enhancer\EntityBundleRouteEnhancer should
        // set the bundle parameter.
'_field_ui' => TRUE,
        'parameters' => [
            $entity_type_id => [
                'type' => "entity:{$entity_type_id}",
                'with_config_overrides' => TRUE,
            ],
        ],
        '_admin_route' => TRUE,
    ]);
    return $route;
}

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