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