diff --git a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php index e1d0731..d6e9e71 100644 --- a/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php +++ b/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php @@ -179,7 +179,7 @@ public function clearCachedDefinitions() { * and would actually be returned by the getDefinitions() method. */ protected function getCachedDefinitions() { - if (!isset($this->definitions) && $this->cacheBackend && $cache = $this->cacheBackend->get($this->cacheKey)) { + if (FALSE && !isset($this->definitions) && $this->cacheBackend && $cache = $this->cacheBackend->get($this->cacheKey)) { $this->definitions = $cache->data; } return $this->definitions; diff --git a/core/modules/field/src/Entity/FieldInstanceConfig.php b/core/modules/field/src/Entity/FieldInstanceConfig.php index 4a4239d..911bda7 100644 --- a/core/modules/field/src/Entity/FieldInstanceConfig.php +++ b/core/modules/field/src/Entity/FieldInstanceConfig.php @@ -258,12 +258,12 @@ public static function postDelete(EntityStorageInterface $storage, array $instan protected function linkTemplates() { $link_templates = parent::linkTemplates(); if (\Drupal::moduleHandler()->moduleExists('field_ui')) { - $link_templates['edit-form'] = 'field_ui.instance_edit_' . $this->entity_type; - $link_templates['storage-edit-form'] = 'field_ui.storage_edit_' . $this->entity_type; - $link_templates['delete-form'] = 'field_ui.delete_' . $this->entity_type; + $link_templates["field_ui.instance-{$this->entity_type}-edit-form"] = 'field_ui.instance_edit_' . $this->entity_type; + $link_templates["field_ui.storage-{$this->entity_type}-edit-form"] = 'field_ui.storage_edit_' . $this->entity_type; + $link_templates["field_ui.{$this->entity_type}-delete-form"] = 'field_ui.delete_' . $this->entity_type; if (isset($link_templates['drupal:config-translation-overview'])) { - $link_templates['drupal:config-translation-overview'] .= $link_templates['edit-form']; + $link_templates['drupal:config-translation-overview' . "field_ui.instance-{$this->entity_type}-edit-form"] .= $link_templates["field_ui.instance-{$this->entity_type}-edit-form"]; } } return $link_templates; diff --git a/core/modules/field_ui/src/FieldInstanceConfigListBuilder.php b/core/modules/field_ui/src/FieldInstanceConfigListBuilder.php index 74252e0..2bdb042 100644 --- a/core/modules/field_ui/src/FieldInstanceConfigListBuilder.php +++ b/core/modules/field_ui/src/FieldInstanceConfigListBuilder.php @@ -62,11 +62,25 @@ public function getDefaultOperations(EntityInterface $entity) { /** @var \Drupal\field\FieldInstanceConfigInterface $entity */ $operations = parent::getDefaultOperations($entity); + if ($entity->access('update') && $entity->hasLinkTemplate("field_ui.instance-{$entity->entity_type}-edit-form")) { + $operations['edit'] = array( + 'title' => $this->t('Edit'), + 'weight' => 10, + ) + $entity->urlInfo("field_ui.instance-{$entity->entity_type}-edit-form")->toArray(); + } + if ($entity->access('delete') && $entity->hasLinkTemplate("field_ui.{$entity->entity_type}-delete-form")) { + $operations['delete'] = array( + 'title' => $this->t('Delete'), + 'weight' => 100, + ) + $entity->urlInfo("field_ui.{$entity->entity_type}-delete-form")->toArray(); + } + + $bundle = $this->entityManager->getDefinition($entity->entity_type)->getBundleEntityType(); $operations['storage-settings'] = array( 'title' => $this->t('Field settings'), 'weight' => 20, 'attributes' => array('title' => $this->t('Edit field settings.')), - ) + $entity->urlInfo('storage-edit-form')->toArray(); + ) + $entity->urlInfo("field_ui.storage-{$entity->entity_type}-edit-form")->toArray(); $operations['edit']['attributes']['title'] = $this->t('Edit instance settings.'); $operations['delete']['attributes']['title'] = $this->t('Delete instance.'); diff --git a/core/modules/field_ui/src/FieldOverview.php b/core/modules/field_ui/src/FieldOverview.php index 6d5f15f..5031781 100644 --- a/core/modules/field_ui/src/FieldOverview.php +++ b/core/modules/field_ui/src/FieldOverview.php @@ -135,7 +135,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $entity_t 'type' => array( '#type' => 'link', '#title' => $field_types[$field_storage->getType()]['label'], - '#route_name' => 'field_ui.storage_edit_' . $this->entity_type, + '#route_name' => "entity.field_instance_config.field_ui.storage_{$this->entity_type}_edit_form", '#route_parameters' => $route_parameters, '#options' => array('attributes' => array('title' => $this->t('Edit field settings.'))), ), diff --git a/core/modules/field_ui/src/Plugin/Derivative/FieldUiLocalTask.php b/core/modules/field_ui/src/Plugin/Derivative/FieldUiLocalTask.php index 397e366..cfb6b0d 100644 --- a/core/modules/field_ui/src/Plugin/Derivative/FieldUiLocalTask.php +++ b/core/modules/field_ui/src/Plugin/Derivative/FieldUiLocalTask.php @@ -144,7 +144,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { // One local task for each view mode. $weight = 0; - foreach ($this->entityManager->getViewModes($field_entity_type) as $view_mode => $form_mode_info) { + foreach ($this->entityManager->getViewModes($entity_type_id) as $view_mode => $form_mode_info) { $this->derivatives['field_display_' . $view_mode . '_' . $field_entity_type] = array( 'title' => $form_mode_info['label'], 'route_name' => "field_ui.display_overview_view_mode_$field_entity_type", diff --git a/core/modules/field_ui/src/Routing/RouteSubscriber.php b/core/modules/field_ui/src/Routing/RouteSubscriber.php index 871d451..479a40d 100644 --- a/core/modules/field_ui/src/Routing/RouteSubscriber.php +++ b/core/modules/field_ui/src/Routing/RouteSubscriber.php @@ -64,7 +64,7 @@ protected function alterRoutes(RouteCollection $collection) { array('_entity_access' => 'field_instance_config.update'), $options ); - $collection->add("entity.field_ui.instance_edit_$entity_type_id", $route); + $collection->add("entity.field_instance_config.field_ui.instance_{$entity_type_id}_edit_form", $route); $route = new Route( "$path/fields/{field_instance_config}/storage", @@ -72,7 +72,7 @@ protected function alterRoutes(RouteCollection $collection) { array('_entity_access' => 'field_instance_config.update'), $options ); - $collection->add("field_ui.storage_edit_$entity_type_id", $route); + $collection->add("entity.field_instance_config.field_ui.storage_{$entity_type_id}_edit_form", $route); $route = new Route( "$path/fields/{field_instance_config}/delete", @@ -80,7 +80,7 @@ protected function alterRoutes(RouteCollection $collection) { array('_entity_access' => 'field_instance_config.delete'), $options ); - $collection->add("field_ui.delete_$entity_type_id", $route); + $collection->add("entity.field_instance_config.field_ui.{$entity_type_id}_delete_form", $route); // If the entity type has no bundles, use the entity type. $defaults['entity_type_id'] = $entity_type_id;