From 7f7c379cef270e5c0142691d558d55c064a9e445 Mon Sep 17 00:00:00 2001 From: webchick <webchick@24967.no-reply.drupal.org> Date: Thu, 19 Dec 2013 14:27:00 -0800 Subject: [PATCH] =?UTF-8?q?Issue=20#2154709=20by=20G=C3=A1bor=20Hojtsy:=20?= =?UTF-8?q?'No=20translatable=20fields'=20link=20points=20to=20misleading?= =?UTF-8?q?=20place.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content_translation/content_translation.pages.inc | 10 +++------- .../lib/Drupal/node/Tests/NodeTranslationUITest.php | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/core/modules/content_translation/content_translation.pages.inc b/core/modules/content_translation/content_translation.pages.inc index fca8b9a55da7..2e5fa6bffcd8 100644 --- a/core/modules/content_translation/content_translation.pages.inc +++ b/core/modules/content_translation/content_translation.pages.inc @@ -23,7 +23,7 @@ function content_translation_overview(EntityInterface $entity) { $languages = language_list(); $original = $entity->getUntranslated()->language()->id; $translations = $entity->getTranslationLanguages(); - $field_ui = \Drupal::moduleHandler()->moduleExists('field_ui') && user_access('administer ' . $entity->entityType() . ' fields'); + $administrator = \Drupal::currentUser()->hasPermission('administer languages'); $rel = array(); foreach (array('canonical', 'edit-form', 'drupal:content-translation-overview') as $name) { @@ -122,12 +122,8 @@ function content_translation_overview(EntityInterface $entity) { $links['add'] = isset($add_links->links[$langcode]['href']) ? $add_links->links[$langcode] : array('href' => $add_path, 'language' => $language); $links['add']['title'] = t('Add'); } - elseif ($field_ui) { - $entity_path = $entity_manager->getAdminPath($entity->entityType(), $entity->bundle()); - // Link directly to the fields tab to make it easier to find the - // setting to enable translation on fields. - $path = $entity_path . '/fields'; - $links['nofields'] = array('title' => t('No translatable fields'), 'href' => $path, 'language' => $language); + elseif ($administrator) { + $links['nofields'] = array('title' => t('No translatable fields'), 'route_name' => 'language.content_settings_page', 'language' => $language); } } diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php index d75da20ef73f..c8d554cce76b 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php @@ -70,7 +70,7 @@ protected function getEditorPermissions() { * {@inheritdoc} */ protected function getAdministratorPermissions() { - return array_merge(parent::getAdministratorPermissions(), array('access administration pages', 'administer content types', 'administer node fields', 'access content overview', 'bypass node access')); + return array_merge(parent::getAdministratorPermissions(), array('access administration pages', 'administer content types', 'administer node fields', 'access content overview', 'bypass node access', 'administer languages')); } /** -- GitLab