From 13e93a9e9f62a20e1f11bd8e452045f1fc07ba28 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Tue, 18 Aug 2015 13:21:49 +0100 Subject: [PATCH] Issue #2551429 by Wim Leers, stefan.r, jibran, larowlan: FieldUI should accommodate route options in RouteSubscriber --- core/modules/field_ui/src/Routing/RouteSubscriber.php | 2 +- core/modules/field_ui/src/Tests/FieldUIRouteTest.php | 9 +++++++++ .../modules/entity_test/src/Routing/EntityTestRoutes.php | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/modules/field_ui/src/Routing/RouteSubscriber.php b/core/modules/field_ui/src/Routing/RouteSubscriber.php index f31ff2b6bbc7..8f1b8f1fced5 100644 --- a/core/modules/field_ui/src/Routing/RouteSubscriber.php +++ b/core/modules/field_ui/src/Routing/RouteSubscriber.php @@ -47,7 +47,7 @@ protected function alterRoutes(RouteCollection $collection) { } $path = $entity_route->getPath(); - $options = array(); + $options = $entity_route->getOptions(); if ($bundle_entity_type = $entity_type->getBundleEntityType()) { $options['parameters'][$bundle_entity_type] = array( 'type' => 'entity:' . $bundle_entity_type, diff --git a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php b/core/modules/field_ui/src/Tests/FieldUIRouteTest.php index 332a87d86c03..6b680430e508 100644 --- a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php +++ b/core/modules/field_ui/src/Tests/FieldUIRouteTest.php @@ -112,4 +112,13 @@ public function assertLocalTasks() { $this->assertLink('Manage form display'); } + /** + * Asserts that admin routes are correctly marked as such. + */ + public function testAdminRoute() { + $route = \Drupal::service('router.route_provider')->getRouteByName('entity.entity_test.field_ui_fields'); + $is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route); + $this->assertTrue($is_admin, 'Admin route correctly marked for "Manage fields" page.'); + } + } diff --git a/core/modules/system/tests/modules/entity_test/src/Routing/EntityTestRoutes.php b/core/modules/system/tests/modules/entity_test/src/Routing/EntityTestRoutes.php index 3a5bbe95b02b..09d677f1864e 100644 --- a/core/modules/system/tests/modules/entity_test/src/Routing/EntityTestRoutes.php +++ b/core/modules/system/tests/modules/entity_test/src/Routing/EntityTestRoutes.php @@ -60,7 +60,8 @@ public function routes() { $routes["entity.$entity_type_id.admin_form"] = new Route( "$entity_type_id/structure/{bundle}", array('_controller' => '\Drupal\entity_test\Controller\EntityTestController::testAdmin'), - array('_permission' => 'administer entity_test content') + array('_permission' => 'administer entity_test content'), + array('_admin_route' => TRUE) ); } return $routes; -- GitLab