diff --git a/core/core.services.yml b/core/core.services.yml index 55d5b34..b7a55d8 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -275,8 +275,8 @@ services: tags: - { name: route_enhancer, priority: 20 } - { name: legacy_route_enhancer, priority: 20 } - route_enhancer.entity_form: - class: Drupal\Core\Entity\Enhancer\EntityFormEnhancer + route_enhancer.entity: + class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer arguments: ['@content_negotiation'] tags: - { name: route_enhancer, priority: 15 } diff --git a/core/lib/Drupal/Core/Entity/Controller/EntityListController.php b/core/lib/Drupal/Core/Entity/Controller/EntityListController.php index 4984bb0..0240923 100644 --- a/core/lib/Drupal/Core/Entity/Controller/EntityListController.php +++ b/core/lib/Drupal/Core/Entity/Controller/EntityListController.php @@ -45,6 +45,9 @@ public static function create(ContainerInterface $container) { /** * Provides the listing page for any entity type. * + * @param string $entity_type + * The entity type to render. + * * @return array * A render array as expected by drupal_render(). */ @@ -53,3 +56,4 @@ public function listing($entity_type) { } } + diff --git a/core/lib/Drupal/Core/Entity/Enhancer/EntityFormEnhancer.php b/core/lib/Drupal/Core/Entity/Enhancer/EntityRouteEnhancer.php similarity index 52% rename from core/lib/Drupal/Core/Entity/Enhancer/EntityFormEnhancer.php rename to core/lib/Drupal/Core/Entity/Enhancer/EntityRouteEnhancer.php index b6739e0..1e55026 100644 --- a/core/lib/Drupal/Core/Entity/Enhancer/EntityFormEnhancer.php +++ b/core/lib/Drupal/Core/Entity/Enhancer/EntityRouteEnhancer.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\Entity\Enhancer\EntityFormEnhancer. + * Contains \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer. */ namespace Drupal\Core\Entity\Enhancer; @@ -14,17 +14,17 @@ /** * Enhances an entity form route with the appropriate controller. */ -class EntityFormEnhancer implements RouteEnhancerInterface { +class EntityRouteEnhancer implements RouteEnhancerInterface { /** * Content negotiation library. * - * @var \Drupal\CoreContentNegotiation + * @var \Drupal\Core\ContentNegotiation */ protected $negotiation; /** - * Constructs a new \Drupal\Core\Entity\Enhancer\EntityFormEnhancer. + * Constructs a new \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer. * * @param \Drupal\Core\ContentNegotiation $negotiation * The content negotiation library. @@ -37,8 +37,13 @@ public function __construct(ContentNegotiation $negotiation) { * {@inheritdoc} */ public function enhance(array $defaults, Request $request) { - if (empty($defaults['_controller']) && !empty($defaults['_entity_form']) && $this->negotiation->getContentType($request) === 'html') { - $defaults['_controller'] = '\Drupal\Core\Entity\HtmlEntityFormController::content'; + if (empty($defaults['_controller']) && $this->negotiation->getContentType($request) === 'html') { + if (!empty($defaults['_entity_form'])) { + $defaults['_controller'] = '\Drupal\Core\Entity\HtmlEntityFormController::content'; + } + elseif (!empty($defaults['_entity_list'])) { + $defaults['_content'] = '\Drupal\Core\Entity\Controller\EntityListController::listing'; + } } return $defaults; } diff --git a/core/modules/block/custom_block/custom_block.routing.yml b/core/modules/block/custom_block/custom_block.routing.yml index ac4ec99..cfe79c7 100644 --- a/core/modules/block/custom_block/custom_block.routing.yml +++ b/core/modules/block/custom_block/custom_block.routing.yml @@ -1,8 +1,7 @@ custom_block_type_list: pattern: '/admin/structure/custom-blocks' defaults: - _content: '\Drupal\Core\Entity\Controller\EntityListController::listing' - entity_type: 'custom_block_type' + _entity_list: 'custom_block_type' requirements: _permission: 'administer blocks' diff --git a/core/modules/config/tests/config_test/config_test.routing.yml b/core/modules/config/tests/config_test/config_test.routing.yml index d939b30..b5cfff6 100644 --- a/core/modules/config/tests/config_test/config_test.routing.yml +++ b/core/modules/config/tests/config_test/config_test.routing.yml @@ -1,7 +1,6 @@ config_test_list_page: pattern: '/admin/structure/config_test' defaults: - _content: '\Drupal\Core\Entity\Controller\EntityListController::listing' - entity_type: 'config_test' + _entity_list: 'config_test' requirements: _access: 'TRUE' diff --git a/core/modules/contact/contact.routing.yml b/core/modules/contact/contact.routing.yml index 4cbfff2..9c3ee6a 100644 --- a/core/modules/contact/contact.routing.yml +++ b/core/modules/contact/contact.routing.yml @@ -8,8 +8,7 @@ contact_category_delete: contact_category_list: pattern: '/admin/structure/contact' defaults: - _content: '\Drupal\Core\Entity\Controller\EntityListController::listing' - entity_type: 'contact_category' + _entity_list: 'contact_category' requirements: _permission: 'administer contact forms' diff --git a/core/modules/picture/picture.routing.yml b/core/modules/picture/picture.routing.yml index 408dd33..66a3689 100644 --- a/core/modules/picture/picture.routing.yml +++ b/core/modules/picture/picture.routing.yml @@ -1,8 +1,7 @@ picture_mapping_page: pattern: '/admin/config/media/picturemapping' defaults: - _content: '\Drupal\Core\Entity\Controller\EntityListController::listing' - entity_type: 'picture_mapping' + _entity_list: 'picture_mapping' requirements: _permission: 'administer pictures' diff --git a/core/modules/user/user.routing.yml b/core/modules/user/user.routing.yml index fb49de3..0a7531d 100644 --- a/core/modules/user/user.routing.yml +++ b/core/modules/user/user.routing.yml @@ -36,8 +36,7 @@ user_account_settings: user_role_list: pattern: '/admin/people/roles' defaults: - _content: '\Drupal\Core\Entity\Controller\EntityListController::listing' - entity_type: 'user_role' + _entity_list: 'user_role' requirements: _permission: 'administer permissions' diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Routing/ViewsUIController.php b/core/modules/views_ui/lib/Drupal/views_ui/Routing/ViewsUIController.php index 472b460..01d43f3 100644 --- a/core/modules/views_ui/lib/Drupal/views_ui/Routing/ViewsUIController.php +++ b/core/modules/views_ui/lib/Drupal/views_ui/Routing/ViewsUIController.php @@ -76,16 +76,6 @@ public static function create(ContainerInterface $container) { } /** - * Lists all of the views. - * - * @return array - * The Views listing page. - */ - public function listing() { - return $this->entityManager->getListController('view')->render(); - } - - /** * Lists all instances of fields on any views. * * @return array diff --git a/core/modules/views_ui/views_ui.routing.yml b/core/modules/views_ui/views_ui.routing.yml index f2046f6..772cc32 100644 --- a/core/modules/views_ui/views_ui.routing.yml +++ b/core/modules/views_ui/views_ui.routing.yml @@ -1,7 +1,7 @@ views_ui.list: pattern: '/admin/structure/views' defaults: - _controller: '\Drupal\views_ui\Routing\ViewsUIController::listing' + _entity_list: 'view' requirements: _permission: 'administer views'