function EntityPermissionsRouteProvider::getEntityPermissionsRoute

Same name and namespace in other branches
  1. 9 core/modules/user/src/Entity/EntityPermissionsRouteProvider.php \Drupal\user\Entity\EntityPermissionsRouteProvider::getEntityPermissionsRoute()
  2. 10 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 74

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.