diff --git a/lib/Drupal/config_translation/Controller/ConfigTranslationController.php b/lib/Drupal/config_translation/Controller/ConfigTranslationController.php index e13f962..d935460 100644 --- a/lib/Drupal/config_translation/Controller/ConfigTranslationController.php +++ b/lib/Drupal/config_translation/Controller/ConfigTranslationController.php @@ -72,14 +72,16 @@ class ConfigTranslationController implements ControllerInterface { '#markup' => '' . t('@language (original)', array('@language' => $language->name)) . '', ); - // @todo The user translating might as well not have access to - // edit the original configuration. They will get a 403 for this - // link when clicked. Do we know better? $operations = array(); - $operations['edit'] = array( - 'title' => t('Edit'), - 'href' => $path, - ); + // Only allow users with permission to edit origin configuration. + if ($router_item = menu_get_item($path)) { + if ($router_item['access']) { + $operations['edit'] = array( + 'title' => t('Edit'), + 'href' => $path, + ); + } + } $page['languages'][$language->id]['operations'] = array( '#type' => 'operations', '#links' => $operations,