diff --git a/core/modules/contact/contact.local_tasks.yml b/core/modules/contact/contact.local_tasks.yml new file mode 100644 index 0000000..91bb65d --- /dev/null +++ b/core/modules/contact/contact.local_tasks.yml @@ -0,0 +1,4 @@ +contact.category_edit: + title: 'Edit' + route_name: contact.category_edit + tab_root_id: contact.category_edit diff --git a/core/modules/contact/contact.module b/core/modules/contact/contact.module index 66a80ec..58e343e 100644 --- a/core/modules/contact/contact.module +++ b/core/modules/contact/contact.module @@ -67,10 +67,6 @@ function contact_menu() { 'title' => 'Edit contact category', 'route_name' => 'contact.category_edit', ); - $items['admin/structure/contact/manage/%contact_category/edit'] = array( - 'title' => 'Edit', - 'type' => MENU_DEFAULT_LOCAL_TASK, - ); $items['contact'] = array( 'title' => 'Contact', diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Access/FormModeAccessCheck.php b/core/modules/field_ui/lib/Drupal/field_ui/Access/FormModeAccessCheck.php index fb78f36..3322c9e 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Access/FormModeAccessCheck.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Access/FormModeAccessCheck.php @@ -47,7 +47,7 @@ public function appliesTo() { */ public function access(Route $route, Request $request, AccountInterface $account) { if ($entity_type = $request->attributes->get('entity_type')) { - $form_mode = $request->attributes->get('mode'); + $form_mode = $request->attributes->get('form_mode_name'); if (!($bundle = $request->attributes->get('bundle'))) { $entity_info = $this->entityManager->getDefinition($entity_type); diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php b/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php index 71ef1da..5e69daf 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Access/ViewModeAccessCheck.php @@ -47,7 +47,7 @@ public function appliesTo() { */ public function access(Route $route, Request $request, AccountInterface $account) { if ($entity_type = $request->attributes->get('entity_type')) { - $view_mode = $request->attributes->get('mode'); + $view_mode = $request->attributes->get('view_mode_name'); if (!($bundle = $request->attributes->get('bundle'))) { $entity_info = $this->entityManager->getDefinition($entity_type); diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php index c25bd43..9834005 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php @@ -85,7 +85,16 @@ public function getRegions() { public function buildForm(array $form, array &$form_state, $entity_type = NULL, $bundle = NULL, $mode = NULL) { parent::buildForm($form, $form_state, $entity_type, $bundle); - $this->mode = (isset($mode) ? $mode : 'default'); + $raw_variables = $this->getRequest()->attributes->get('_raw_variables')->all(); + if (isset($raw_variables['form_mode_name'])) { + $this->mode = $raw_variables['form_mode_name']; + } + elseif (isset($raw_variables['view_mode_name'])) { + $this->mode = $raw_variables['view_mode_name']; + } + else { + $this->mode = 'default'; + } // Gather type information. $instances = field_info_instances($this->entity_type, $this->bundle); diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php b/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php index eb77b7e..3e15548 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php @@ -137,9 +137,9 @@ public function getDerivativeDefinitions(array $base_plugin_definition) { foreach (entity_get_form_modes($entity_type) as $form_mode => $form_mode_info) { $this->derivatives['field_form_display_' . $form_mode . '_' . $entity_type] = array( 'title' => $form_mode_info['label'], - 'route_name' => "field_ui.form_display_overview_$entity_type", + 'route_name' => "field_ui.form_display_overview_form_mode_$entity_type", 'route_parameters' => array( - 'mode' => $form_mode, + 'form_mode_name' => $form_mode, ), 'tab_root_id' => "field_ui.fields:overview_$entity_type", 'tab_parent_id' => "field_ui.fields:form_display_overview_$entity_type", @@ -152,9 +152,9 @@ public function getDerivativeDefinitions(array $base_plugin_definition) { foreach (entity_get_view_modes($entity_type) as $view_mode => $form_mode_info) { $this->derivatives['field_display_' . $view_mode . '_' . $entity_type] = array( 'title' => $form_mode_info['label'], - 'route_name' => "field_ui.display_overview_$entity_type", + 'route_name' => "field_ui.display_overview_view_mode_$entity_type", 'route_parameters' => array( - 'mode' => $view_mode, + 'view_mode_name' => $view_mode, ), 'tab_root_id' => "field_ui.fields:overview_$entity_type", 'tab_parent_id' => "field_ui.fields:display_overview_$entity_type", diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php b/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php index 67de1ca..1b7d611 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php @@ -91,26 +91,44 @@ protected function routes(RouteCollection $collection) { $collection->add("field_ui.overview_$entity_type", $route); $route = new Route( - "$path/form-display/{mode}", + "$path/form-display", array( '_form' => '\Drupal\field_ui\FormDisplayOverview', '_title' => 'Manage form display', - 'mode' => NULL, ) + $defaults, array('_field_ui_form_mode_access' => 'administer ' . $entity_type . ' form display') ); $collection->add("field_ui.form_display_overview_$entity_type", $route); $route = new Route( - "$path/display/{mode}", + "$path/form-display/{form_mode_name}", + array( + '_form' => '\Drupal\field_ui\FormDisplayOverview', + 'form_mode_name' => NULL, + ) + $defaults, + array('_field_ui_form_mode_access' => 'administer ' . $entity_type . ' form display') + ); + $collection->add("field_ui.form_display_overview_form_mode_$entity_type", $route); + + $route = new Route( + "$path/display", array( '_form' => '\Drupal\field_ui\DisplayOverview', '_title' => 'Manage display', - 'mode' => NULL, ) + $defaults, array('_field_ui_view_mode_access' => 'administer ' . $entity_type . ' display') ); $collection->add("field_ui.display_overview_$entity_type", $route); + + $route = new Route( + "$path/display/{view_mode_name}", + array( + '_form' => '\Drupal\field_ui\DisplayOverview', + 'view_mode_name' => NULL, + ) + $defaults, + array('_field_ui_view_mode_access' => 'administer ' . $entity_type . ' display') + ); + $collection->add("field_ui.display_overview_view_mode_$entity_type", $route); } } } diff --git a/core/modules/taxonomy/taxonomy.local_tasks.yml b/core/modules/taxonomy/taxonomy.local_tasks.yml index a04379e..cdcb4ea 100644 --- a/core/modules/taxonomy/taxonomy.local_tasks.yml +++ b/core/modules/taxonomy/taxonomy.local_tasks.yml @@ -7,3 +7,12 @@ taxonomy.term_edit: title: 'Edit' route_name: taxonomy.term_edit tab_root_id: taxonomy.term_page + +taxonomy.overview_terms: + title: 'List' + route_name: taxonomy.overview_terms + tab_root_id: taxonomy.overview_terms +taxonomy.vocabulary_edit: + title: 'Edit' + route_name: taxonomy.vocabulary_edit + tab_root_id: taxonomy.overview_terms diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module index 72222aa..c5f6153 100644 --- a/core/modules/taxonomy/taxonomy.module +++ b/core/modules/taxonomy/taxonomy.module @@ -240,14 +240,6 @@ function taxonomy_menu() { 'description' => 'Manage tagging, categorization, and classification of your content.', 'route_name' => 'taxonomy.vocabulary_list', ); - $items['admin/structure/taxonomy/list'] = array( - 'title' => 'List', - 'type' => MENU_DEFAULT_LOCAL_TASK, - ); - $items['admin/structure/taxonomy/add'] = array( - 'route_name' => 'taxonomy.vocabulary_add', - 'type' => MENU_SIBLING_LOCAL_TASK, - ); $items['taxonomy/term/%taxonomy_term'] = array( 'title' => 'Taxonomy term',