function RevisionHtmlRouteProvider::getRevisionViewRoute

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Entity/Routing/RevisionHtmlRouteProvider.php \Drupal\Core\Entity\Routing\RevisionHtmlRouteProvider::getRevisionViewRoute()

Gets the entity revision view route.

Parameters

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

Return value

\Symfony\Component\Routing\Route|null The entity revision view route, or NULL if the entity type does not support viewing revisions.

1 call to RevisionHtmlRouteProvider::getRevisionViewRoute()
RevisionHtmlRouteProvider::getRoutes in core/lib/Drupal/Core/Entity/Routing/RevisionHtmlRouteProvider.php

File

core/lib/Drupal/Core/Entity/Routing/RevisionHtmlRouteProvider.php, line 83

Class

RevisionHtmlRouteProvider
Provides entity revision routes.

Namespace

Drupal\Core\Entity\Routing

Code

protected function getRevisionViewRoute(EntityTypeInterface $entityType) : ?Route {
  if (!$entityType->hasLinkTemplate('revision')) {
    return NULL;
  }
  $entityTypeId = $entityType->id();
  $revisionParameterName = $entityTypeId . '_revision';
  return (new Route($entityType->getLinkTemplate('revision')))
    ->addDefaults([
    '_controller' => EntityRevisionViewController::class,
    '_title_callback' => EntityRevisionViewController::class . '::title',
  ])
    ->setRequirement('_entity_access', $revisionParameterName . '.view revision')
    ->setOption('parameters', [
    $entityTypeId => [
      'type' => 'entity:' . $entityTypeId,
    ],
    $revisionParameterName => [
      'type' => 'entity_revision:' . $entityTypeId,
    ],
  ]);
}

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