You are here

protected function EntityPermissionsRouteProvider::getEntityPermissionsRoute in Drupal 10

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;
}