Commit 895c2048 authored by alexpott's avatar alexpott

Revert "Issue #2353611 by larowlan, dawehner, sime, alexpott, Wim Leers,...

Revert "Issue #2353611 by larowlan, dawehner, sime, alexpott, Wim Leers, tstoeckler: Make it possible to link to an entity by UUID"

This reverts commit 85bc69df.
parent 2c3d5ecb
......@@ -309,9 +309,6 @@ protected function urlRouteParameters($rel) {
if ($rel === 'revision' && $this instanceof RevisionableInterface) {
$uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
}
if ($rel === 'uuid') {
$uri_route_parameters[$this->getEntityTypeId()] = $this->uuid();
}
return $uri_route_parameters;
}
......
......@@ -2,7 +2,6 @@
namespace Drupal\Core\Entity\Routing;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\Config\Entity\ConfigEntityTypeInterface;
use Drupal\Core\Entity\Controller\EntityController;
use Drupal\Core\Entity\EntityFieldManagerInterface;
......@@ -24,7 +23,6 @@
* - add-form
* - edit-form
* - delete-form
* - uuid
*
* @see \Drupal\Core\Entity\Routing\AdminHtmlRouteProvider.
*
......@@ -85,12 +83,6 @@ public function getRoutes(EntityTypeInterface $entity_type) {
$collection->add("entity.{$entity_type_id}.add_form", $add_form_route);
}
// This goes before canonical because the UUID pattern must be tested before
// non-integer entity IDs.
if ($uuid_route = $this->getUuidRoute($entity_type)) {
$collection->add("entity.{$entity_type_id}.uuid", $uuid_route);
}
if ($canonical_route = $this->getCanonicalRoute($entity_type)) {
$collection->add("entity.{$entity_type_id}.canonical", $canonical_route);
}
......@@ -237,34 +229,6 @@ protected function getCanonicalRoute(EntityTypeInterface $entity_type) {
}
}
/**
* Gets the UUID route.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type.
*
* @return \Symfony\Component\Routing\Route|null
* The generated route, if available.
*/
protected function getUuidRoute(EntityTypeInterface $entity_type) {
if ($entity_type->getKey('uuid') && $entity_type->hasViewBuilderClass() && $entity_type->hasLinkTemplate('uuid')) {
$entity_type_id = $entity_type->id();
$route = new Route($entity_type->getLinkTemplate('uuid'));
$route
->addDefaults([
'_entity_view' => $entity_type_id . '.full',
'_title_callback' => '\Drupal\Core\Entity\Controller\EntityController::title',
])
->setRequirement('_entity_access', $entity_type_id . '.view')
->setOption('parameters', [
$entity_type_id => ['type' => 'entity:' . $entity_type_id],
])
// Set requirement for UUID pattern.
->setRequirement($entity_type_id, '^' . Uuid::VALID_PATTERN . '$');
return $route;
}
}
/**
* Gets the edit-form route.
*
......
......@@ -132,14 +132,10 @@ public function checkNodeAccess(array $tree) {
$node_links = array();
$this->collectNodeLinks($tree, $node_links);
if ($node_links) {
// These could be serial node IDs or UUIDs.
$node_identifiers = array_keys($node_links);
$nids = array_keys($node_links);
$query = $this->queryFactory->get('node');
$group = $query->orConditionGroup()
->condition('nid', $node_identifiers, 'IN')
->condition('uuid', $node_identifiers, 'IN');
$query->condition($group);
$query->condition('nid', $nids, 'IN');
// Allows admins to view all nodes, by both disabling node_access
// query rewrite as well as not checking for the node status. The
......@@ -154,13 +150,10 @@ public function checkNodeAccess(array $tree) {
$query->condition('status', NODE_PUBLISHED);
}
// Cast to an array so we can loop, even if there are no results.
$nids = (array) $query->execute();
$nids = $query->execute();
foreach ($nids as $nid) {
if (isset($node_links[$nid])) {
foreach ($node_links[$nid] as $key => $link) {
$node_links[$nid][$key]->access = $access_result;
}
foreach ($node_links[$nid] as $key => $link) {
$node_links[$nid][$key]->access = $access_result;
}
}
}
......@@ -181,7 +174,7 @@ public function checkNodeAccess(array $tree) {
*/
protected function collectNodeLinks(array &$tree, array &$node_links) {
foreach ($tree as $key => &$element) {
if (in_array($element->link->getRouteName(), ['entity.node.canonical', 'entity.node.uuid'], TRUE)) {
if ($element->link->getRouteName() == 'entity.node.canonical') {
$nid = $element->link->getRouteParameters()['node'];
$node_links[$nid][$key] = $element;
// Deny access by default. checkNodeAccess() will re-add it.
......
......@@ -2,14 +2,13 @@
namespace Drupal\Core\ParamConverter;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\TypedData\TranslatableInterface;
use Symfony\Component\Routing\Route;
/**
* Parameter converter for upcasting entity IDs or UUIDs to full objects.
* Parameter converter for upcasting entity IDs to full objects.
*
* This is useful in cases where the dynamic elements of the path can't be
* auto-determined; for example, if your path refers to multiple of the same
......@@ -58,19 +57,11 @@ public function __construct(EntityManagerInterface $entity_manager) {
/**
* {@inheritdoc}
*
* The value here can be either a serial entity ID, or the entity UUID.
*/
public function convert($value, $definition, $name, array $defaults) {
$entity_type_id = $this->getEntityTypeFromDefaults($definition, $name, $defaults);
if ($storage = $this->entityManager->getStorage($entity_type_id)) {
$entity = $storage->load($value);
// If there is no entity loadable by ID, try to load by UUID.
if (!$entity && Uuid::isValid($value)) {
if ($entities = $storage->loadByProperties(['uuid' => $value])) {
$entity = reset($entities);
}
}
// If the entity type is translatable, ensure we return the proper
// translation object for the current context.
if ($entity instanceof EntityInterface && $entity instanceof TranslatableInterface) {
......
......@@ -3,7 +3,6 @@
namespace Drupal\Core;
use Drupal\Component\Utility\UrlHelper;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\DependencyInjection\DependencySerializationTrait;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Routing\UrlGeneratorInterface;
......@@ -326,7 +325,7 @@ public static function fromUri($uri, $options = []) {
*
* @param array $uri_parts
* Parts from an URI of the form entity:{entity_type}/{entity_id} as from
* parse_url(). Note that {entity_id} can be both a UUID and a serial ID.
* parse_url().
* @param array $options
* An array of options, see \Drupal\Core\Url::fromUri() for details.
* @param string $uri
......@@ -341,15 +340,10 @@ public static function fromUri($uri, $options = []) {
protected static function fromEntityUri(array $uri_parts, array $options, $uri) {
list($entity_type_id, $entity_id) = explode('/', $uri_parts['path'], 2);
if ($uri_parts['scheme'] != 'entity' || $entity_id === '') {
throw new \InvalidArgumentException("The entity URI '$uri' is invalid. You must specify the entity id in the URL. e.g., entity:node/1 or entity:node/{uuid} for loading the canonical path to node entity with id 1.");
}
$route_name = "entity.$entity_type_id.canonical";
if (Uuid::isValid($entity_id)) {
// UUID instead of entity ID.
$route_name = "entity.$entity_type_id.uuid";
throw new \InvalidArgumentException("The entity URI '$uri' is invalid. You must specify the entity id in the URL. e.g., entity:node/1 for loading the canonical path to node entity with id 1.");
}
return new static($route_name, [$entity_type_id => $entity_id], $options);
return new static("entity.$entity_type_id.canonical", [$entity_type_id => $entity_id], $options);
}
/**
......
......@@ -31,7 +31,6 @@
* },
* links = {
* "canonical" = "/aggregator/sources/{aggregator_feed}",
* "uuid" = "/aggregator/sources/{aggregator_feed}",
* "edit-form" = "/aggregator/sources/{aggregator_feed}/configure",
* "delete-form" = "/aggregator/sources/{aggregator_feed}/delete",
* },
......
......@@ -201,13 +201,8 @@ function menu_ui_get_menu_link_defaults(NodeInterface $node) {
// Give priority to the default menu
$type_menus = $node_type->getThirdPartySetting('menu_ui', 'available_menus', array('main'));
if (in_array($menu_name, $type_menus)) {
$query = \Drupal::entityQuery('menu_link_content');
$group = $query->orConditionGroup()
->condition('link.uri', 'entity:node/' . $node->id())
->condition('link.uri', 'entity:node/' . $node->uuid())
->condition('link.uri', 'internal:/node/' . $node->id())
->condition('link.uri', 'internal:/node/' . $node->uuid());
$query->condition($group)
$query = \Drupal::entityQuery('menu_link_content')
->condition('link.uri', 'node/' . $node->id())
->condition('menu_name', $menu_name)
->sort('id', 'ASC')
->range(0, 1);
......@@ -217,13 +212,8 @@ function menu_ui_get_menu_link_defaults(NodeInterface $node) {
}
// Check all allowed menus if a link does not exist in the default menu.
if (!$id && !empty($type_menus)) {
$query = \Drupal::entityQuery('menu_link_content');
$group = $query->orConditionGroup()
$query = \Drupal::entityQuery('menu_link_content')
->condition('link.uri', 'entity:node/' . $node->id())
->condition('link.uri', 'entity:node/' . $node->uuid())
->condition('link.uri', 'internal:/node/' . $node->id())
->condition('link.uri', 'internal:/node/' . $node->uuid());
$query->condition($group)
->condition('menu_name', array_values($type_menus), 'IN')
->sort('id', 'ASC')
->range(0, 1);
......
......@@ -2,8 +2,7 @@
namespace Drupal\menu_ui\Tests;
use Drupal\Core\Url;
use Drupal\node\Entity\NodeType;
use Drupal\simpletest\WebTestBase;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\node\Entity\Node;
......@@ -13,7 +12,7 @@
*
* @group menu_ui
*/
class MenuNodeTest extends MenuWebTestBase {
class MenuNodeTest extends WebTestBase {
/**
* An editor user.
......@@ -339,38 +338,4 @@ function testMultilingualMenuNodeFormWidget() {
$this->assertFieldById('edit-menu-title', $translated_node_title);
}
/**
* Tests adding links to nodes using the /node/{uuid} format.
*/
public function testNodeUuidLink() {
/* @var \Drupal\node\NodeTypeInterface $type */
$type = NodeType::load('page');
// Enable the main menu for this node type..
$menu_name = 'main';
$type->setThirdPartySetting('menu_ui', 'available_menus', [$menu_name]);
$type->save();
// Test links using node/{uuid}.
$node6 = $this->drupalCreateNode(array('type' => 'page'));
$uuid_link = $this->addMenuLink('', '/node/' . $node6->uuid(), $menu_name);
$this->verifyMenuLink($uuid_link, $node6);
$this->drupalGet($node6->url('edit-form'));
$this->assertFieldByName('menu[title]', $uuid_link->label());
$this->drupalPostForm(NULL, [], t('Save'));
\Drupal::entityManager()->getStorage('menu_link_content')->resetCache([$uuid_link->id()]);
/** @var \Drupal\menu_link_content\MenuLinkContentInterface $uuid_link */
$uuid_link = MenuLinkContent::load($uuid_link->id());
$this->assertEqual($uuid_link->getUrlObject(), Url::fromUri('internal:/node/' . $node6->uuid()));
// Test with entity:node/{uuid}.
$node7 = $this->drupalCreateNode(array('type' => 'page'));
$uuid_link = $this->addMenuLink('', 'entity:node/' . $node7->uuid(), $menu_name);
$this->verifyMenuLink($uuid_link, $node7);
$this->drupalGet($node7->url('edit-form'));
$this->assertFieldByName('menu[title]', $uuid_link->label());
$this->drupalPostForm(NULL, [], t('Save'));
\Drupal::entityManager()->getStorage('menu_link_content')->resetCache([$uuid_link->id()]);
/** @var \Drupal\menu_link_content\MenuLinkContentInterface $uuid_link */
$uuid_link = MenuLinkContent::load($uuid_link->id());
$this->assertEqual($uuid_link->getUrlObject(), Url::fromUri('entity:node/' . $node7->uuid()));
}
}
......@@ -69,7 +69,7 @@ protected function setUp() {
$this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
// Create users.
$this->adminUser = $this->drupalCreateUser(array('access administration pages', 'administer blocks', 'administer menu', 'create article content', 'edit any article content'));
$this->adminUser = $this->drupalCreateUser(array('access administration pages', 'administer blocks', 'administer menu', 'create article content'));
$this->authenticatedUser = $this->drupalCreateUser(array());
}
......@@ -221,7 +221,6 @@ function addCustomMenu() {
// Enable the block.
$block = $this->drupalPlaceBlock('system_menu_block:' . $menu_name);
$this->blockPlacements[$menu_name] = $block->id();
return Menu::load($menu_name);
}
......@@ -583,6 +582,55 @@ public function testBlockContextualLinks() {
$this->assertIdentical($json[$id], '<ul class="contextual-links"><li class="block-configure"><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '">Configure block</a></li><li class="entitymenuedit-form"><a href="' . base_path() . 'admin/structure/menu/manage/' . $custom_menu->id() . '">Edit menu</a></li></ul>');
}
/**
* Adds a menu link using the UI.
*
* @param string $parent
* Optional parent menu link id.
* @param string $path
* The path to enter on the form. Defaults to the front page.
* @param string $menu_name
* Menu name. Defaults to 'tools'.
* @param bool $expanded
* Whether or not this menu link is expanded. Setting this to TRUE should
* test whether it works when we do the authenticatedUser tests. Defaults
* to FALSE.
* @param string $weight
* Menu weight. Defaults to 0.
*
* @return \Drupal\menu_link_content\Entity\MenuLinkContent
* A menu link entity.
*/
function addMenuLink($parent = '', $path = '/', $menu_name = 'tools', $expanded = FALSE, $weight = '0') {
// View add menu link page.
$this->drupalGet("admin/structure/menu/manage/$menu_name/add");
$this->assertResponse(200);
$title = '!link_' . $this->randomMachineName(16);
$edit = array(
'link[0][uri]' => $path,
'title[0][value]' => $title,
'description[0][value]' => '',
'enabled[value]' => 1,
'expanded[value]' => $expanded,
'menu_parent' => $menu_name . ':' . $parent,
'weight[0][value]' => $weight,
);
// Add menu link.
$this->drupalPostForm(NULL, $edit, t('Save'));
$this->assertResponse(200);
$this->assertText('The menu link has been saved.');
$menu_links = entity_load_multiple_by_properties('menu_link_content', array('title' => $title));
$menu_link = reset($menu_links);
$this->assertTrue($menu_link, 'Menu link was found in database.');
$this->assertMenuLink($menu_link->getPluginId(), array('menu_name' => $menu_name, 'children' => array(), 'parent' => $parent));
return $menu_link;
}
/**
* Attempts to add menu link with invalid path or no access permission.
*/
......@@ -639,6 +687,45 @@ function checkInvalidParentMenuLinks() {
}
}
/**
* Verifies a menu link using the UI.
*
* @param \Drupal\menu_link_content\Entity\MenuLinkContent $item
* Menu link.
* @param object $item_node
* Menu link content node.
* @param \Drupal\menu_link_content\Entity\MenuLinkContent $parent
* Parent menu link.
* @param object $parent_node
* Parent menu link content node.
*/
function verifyMenuLink(MenuLinkContent $item, $item_node, MenuLinkContent $parent = NULL, $parent_node = NULL) {
// View home page.
$this->drupalGet('');
$this->assertResponse(200);
// Verify parent menu link.
if (isset($parent)) {
// Verify menu link.
$title = $parent->getTitle();
$this->assertLink($title, 0, 'Parent menu link was displayed');
// Verify menu link link.
$this->clickLink($title);
$title = $parent_node->label();
$this->assertTitle(t("@title | Drupal", array('@title' => $title)), 'Parent menu link link target was correct');
}
// Verify menu link.
$title = $item->getTitle();
$this->assertLink($title, 0, 'Menu link was displayed');
// Verify menu link link.
$this->clickLink($title);
$title = $item_node->label();
$this->assertTitle(t("@title | Drupal", array('@title' => $title)), 'Menu link link target was correct');
}
/**
* Changes the parent of a menu link using the UI.
*
......
......@@ -2,7 +2,6 @@
namespace Drupal\menu_ui\Tests;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\simpletest\WebTestBase;
/**
......@@ -75,97 +74,4 @@ function assertMenuLink($menu_plugin_id, array $expected_item) {
}
}
/**
* Adds a menu link using the UI.
*
* @param string $parent
* Optional parent menu link id.
* @param string $path
* The path to enter on the form. Defaults to the front page.
* @param string $menu_name
* Menu name. Defaults to 'tools'.
* @param bool $expanded
* Whether or not this menu link is expanded. Setting this to TRUE should
* test whether it works when we do the authenticatedUser tests. Defaults
* to FALSE.
* @param string $weight
* Menu weight. Defaults to 0.
*
* @return \Drupal\menu_link_content\Entity\MenuLinkContent
* A menu link entity.
*/
public function addMenuLink($parent = '', $path = '/', $menu_name = 'tools', $expanded = FALSE, $weight = '0') {
// View add menu link page.
$this->drupalGet("admin/structure/menu/manage/$menu_name/add");
$this->assertResponse(200);
$title = '!link_' . $this->randomMachineName(16);
$edit = array(
'link[0][uri]' => $path,
'title[0][value]' => $title,
'description[0][value]' => '',
'enabled[value]' => 1,
'expanded[value]' => $expanded,
'menu_parent' => $menu_name . ':' . $parent,
'weight[0][value]' => $weight,
);
// Add menu link.
$this->drupalPostForm(NULL, $edit, t('Save'));
$this->assertResponse(200);
$this->assertText('The menu link has been saved.');
$menu_links = entity_load_multiple_by_properties('menu_link_content', array('title' => $title));
$menu_link = reset($menu_links);
$this->assertTrue($menu_link, 'Menu link was found in database.');
$this->assertMenuLink($menu_link->getPluginId(), [
'menu_name' => $menu_name,
'children' => [],
'parent' => $parent,
]);
return $menu_link;
}
/**
* Verifies a menu link using the UI.
*
* @param \Drupal\menu_link_content\Entity\MenuLinkContent $item
* Menu link.
* @param object $item_node
* Menu link content node.
* @param \Drupal\menu_link_content\Entity\MenuLinkContent $parent
* Parent menu link.
* @param object $parent_node
* Parent menu link content node.
*/
public function verifyMenuLink(MenuLinkContent $item, $item_node, MenuLinkContent $parent = NULL, $parent_node = NULL) {
// View home page.
$this->drupalGet('');
$this->assertResponse(200);
// Verify parent menu link.
if (isset($parent)) {
// Verify menu link.
$title = $parent->getTitle();
$this->assertLink($title, 0, 'Parent menu link was displayed');
// Verify menu link link.
$this->clickLink($title);
$title = $parent_node->label();
$this->assertTitle(t("@title | Drupal", array('@title' => $title)), 'Parent menu link link target was correct');
}
// Verify menu link.
$title = $item->getTitle();
$this->assertLink($title, 0, 'Menu link was displayed');
// Verify menu link link.
$this->clickLink($title);
$title = $item_node->label();
$this->assertTitle(t("@title | Drupal", array('@title' => $title)), 'Menu link link target was correct');
}
}
......@@ -63,7 +63,6 @@
* permission_granularity = "bundle",
* links = {
* "canonical" = "/node/{node}",
* "uuid" = "/node/{node}",
* "delete-form" = "/node/{node}/delete",
* "edit-form" = "/node/{node}/edit",
* "version-history" = "/node/{node}/revisions",
......
......@@ -2,7 +2,6 @@
namespace Drupal\node\Entity;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Entity\Routing\EntityRouteProviderInterface;
use Symfony\Component\Routing\Route;
......@@ -18,17 +17,6 @@ class NodeRouteProvider implements EntityRouteProviderInterface {
*/
public function getRoutes( EntityTypeInterface $entity_type) {
$route_collection = new RouteCollection();
$route = (new Route("/node/{node}"))
->addDefaults([
'_controller' => '\Drupal\node\Controller\NodeViewController::view',
'_title_callback' => '\Drupal\node\Controller\NodeViewController::title',
])
// Set requirement for UUID pattern.
->setRequirement('node', '^' . Uuid::VALID_PATTERN . '$')
->setRequirement('_entity_access', 'node.view');
$route_collection->add('entity.node.uuid', $route);
$route = (new Route('/node/{node}'))
->addDefaults([
'_controller' => '\Drupal\node\Controller\NodeViewController::view',
......
......@@ -1647,19 +1647,3 @@ function system_update_8014() {
/**
* @} End of "addtogroup updates-8.0.0-rc".
*/
/**
* @addtogroup updates-8.2.0
* @{
*/
/**
* The simple presence of this update function clears cached entity definitions.
*/
function system_update_8200() {
// Many core entity-types now have a UUID link template and route.
}
/**
* @} End of "addtogroup updates-8.2.0".
*/
......@@ -42,7 +42,6 @@
* },
* links = {
* "canonical" = "/entity_test/{entity_test}",
* "uuid" = "/entity_test/{entity_test}",
* "add-form" = "/entity_test/add",
* "edit-form" = "/entity_test/manage/{entity_test}/edit",
* "delete-form" = "/entity_test/delete/entity_test/{entity_test}",
......
......@@ -33,7 +33,6 @@
* },
* links = {
* "canonical" = "/entity_test_base_field_display/{entity_test_base_field_display}/edit",
* "uuid" = "/entity_test_base_field_display/{entity_test_base_field_display}/edit",
* "add-form" = "/entity_test_base_field_display/add",
* "edit-form" = "/entity_test_base_field_display/manage/{entity_test_base_field_display}",
* "delete-form" = "/entity_test/delete/entity_test_base_field_display/{entity_test_base_field_display}/edit",
......
......@@ -36,7 +36,6 @@
* "add-page" = "/entity_test_mul/add",
* "add-form" = "/entity_test_mul/add/{type}",
* "canonical" = "/entity_test_mul/manage/{entity_test_mul}",
* "uuid" = "/entity_test_mul/manage/{entity_test_mul}",
* "edit-form" = "/entity_test_mul/manage/{entity_test_mul}/edit",
* "delete-form" = "/entity_test/delete/entity_test_mul/{entity_test_mul}",
* },
......
......@@ -39,7 +39,6 @@
* links = {
* "add-form" = "/entity_test_mul_changed/add",
* "canonical" = "/entity_test_mul_changed/manage/{entity_test_mul_changed}",
* "uuid" = "/entity_test_mul_changed/manage/{entity_test_mul_changed}",
* "edit-form" = "/entity_test_mul_changed/manage/{entity_test_mul_changed}/edit",
* "delete-form" = "/entity_test/delete/entity_test_mul_changed/{entity_test_mul_changed}",
* },
......
......@@ -36,7 +36,6 @@
* links = {
* "add-form" = "/entity_test_mul_langcode_key/add",
* "canonical" = "/entity_test_mul_langcode_key/manage/{entity_test_mul_langcode_key}",
* "uuid" = "/entity_test_mul_langcode_key/manage/{entity_test_mul_langcode_key}",
* "edit-form" = "/entity_test_mul_langcode_key/manage/{entity_test_mul_langcode_key}/edit",
* "delete-form" = "/entity_test/delete/entity_test_mul_langcode_key/{entity_test_mul_langcode_key}",
* },
......
......@@ -38,7 +38,6 @@
* links = {
* "add-form" = "/entity_test_mulrev/add",
* "canonical" = "/entity_test_mulrev/manage/{entity_test_mulrev}",
* "uuid" = "/entity_test_mulrev/manage/{entity_test_mulrev}",
* "delete-form" = "/entity_test/delete/entity_test_mulrev/{entity_test_mulrev}",
* "edit-form" = "/entity_test_mulrev/manage/{entity_test_mulrev}/edit",
* "revision" = "/entity_test_mulrev/{entity_test_mulrev}/revision/{entity_test_mulrev_revision}/view",
......
......@@ -40,7 +40,6 @@
* links = {
* "add-form" = "/entity_test_mulrev_changed/add",
* "canonical" = "/entity_test_mulrev_changed/manage/{entity_test_mulrev_changed}",
* "uuid" = "/entity_test_mulrev_changed/manage/{entity_test_mulrev_changed}",
* "delete-form" = "/entity_test/delete/entity_test_mulrev_changed/{entity_test_mulrev_changed}",
* "edit-form" = "/entity_test_mulrev_changed/manage/{entity_test_mulrev_changed}/edit",
* "revision" = "/entity_test_mulrev_changed/{entity_test_mulrev_changed}/revision/{entity_test_mulrev_changed_revision}/view",
......
......@@ -39,7 +39,6 @@
* links = {
* "add-form" = "/entity_test_rev/add",
* "canonical" = "/entity_test_rev/manage/{entity_test_rev}",
* "uuid" = "/entity_test_rev/manage/{entity_test_rev}",
* "delete-form" = "/entity_test/delete/entity_test_rev/{entity_test_rev}",
* "edit-form" = "/entity_test_rev/manage/{entity_test_rev}/edit",
* "revision" = "/entity_test_rev/{entity_test_rev}/revision/{entity_test_rev_revision}/view",
......
......@@ -29,7 +29,6 @@
* },
* links = {
* "canonical" = "/entity_test_string_id/manage/{entity_test_string_id}",
* "uuid" = "/entity_test_string_id/manage/{entity_test_string_id}",
* "add-form" = "/entity_test_string_id/add",
* "edit-form" = "/entity_test_string_id/manage/{entity_test_string_id}",
* },
......
......@@ -37,7 +37,6 @@
* bundle_entity_type = "entity_test_bundle",
* links = {
* "canonical" = "/entity_test_with_bundle/{entity_test_with_bundle}",
* "uuid" = "/entity_test_with_bundle/{entity_test_with_bundle}",
* "add-page" = "/entity_test_with_bundle/add",
* "add-form" = "/entity_test_with_bundle/add/{entity_test_bundle}",
* "edit-form" = "/entity_test_with_bundle/{entity_test_with_bundle}/edit",
......
......@@ -37,7 +37,6 @@
* },
* links = {
* "canonical" = "/entity_test_revlog/manage/{entity_test_revlog}",
* "uuid" = "/entity_test_revlog/manage/{entity_test_revlog}",
* "delete-form" = "/entity_test/delete/entity_test_revlog/{entity_test_revlog}",
* "edit-form" = "/entity_test_revlog/manage/{entity_test_revlog}/edit",
* "revision" = "/entity_test_revlog/{entity_test_revlog}/revision/{entity_test_revlog_revision}/view",
......
......@@ -44,7 +44,6 @@
* common_reference_target = TRUE,
* links = {
* "canonical" = "/taxonomy/term/{taxonomy_term}",
* "uuid" = "/taxonomy/term/{taxonomy_term}",
* "delete-form" = "/taxonomy/term/{taxonomy_term}/delete",
* "edit-form" = "/taxonomy/term/{taxonomy_term}/edit",
* },
......
......@@ -76,16 +76,6 @@ entity.taxonomy_vocabulary.overview_form:
requirements:
_entity_access: 'taxonomy_vocabulary.view'
entity.taxonomy_term.uuid:
path: '/taxonomy/term/{taxonomy_term}'
defaults:
_entity_view: 'taxonomy_term.full'
_title: 'Taxonomy term'
_title_callback: '\Drupal\taxonomy\Controller\TaxonomyController::termTitle'
requirements:
_entity_access: 'taxonomy_term.view'
taxonomy_term: '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}'
entity.taxonomy_term.canonical:
path: '/taxonomy/term/{taxonomy_term}'
defaults:
......
......@@ -48,7 +48,6 @@
* },
* links = {
* "canonical" = "/user/{user}",
* "uuid" = "/user/{user}",
* "edit-form" = "/user/{user}/edit",
* "cancel-form" = "/user/{user}/cancel",
* "collection" = "/admin/people",
......
......@@ -2,7 +2,6 @@
namespace Drupal\user\Entity;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\Entity\EntityTypeInterface;