diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationFormAccess.php b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationFormAccess.php index 3ebf96a..5e98d41 100644 --- a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationFormAccess.php +++ b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationFormAccess.php @@ -7,8 +7,6 @@ namespace Drupal\config_translation\Access; -use Drupal\config_translation\ConfigMapperManagerInterface; -use Drupal\Core\Access\StaticAccessCheckInterface; use Drupal\Core\Session\AccountInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Route; @@ -33,11 +31,6 @@ public function access(Route $route, Request $request, AccountInterface $account // checks in addition to the checks performed for the translation overview. $base_access = parent::access($route, $request, $account); if ($base_access === static::ALLOW) { - /** @var \Drupal\config_translation\ConfigMapperInterface $mapper */ - $mapper = $this->configMapperManager->createInstance($route->getDefault('plugin_id')); - $mapper->populateFromRequest($request); - - $source_language = $mapper->getLanguageWithFallback(); $target_language = language_load($request->attributes->get('langcode')); // Make sure that the target language is not locked, and that the target @@ -47,7 +40,7 @@ public function access(Route $route, Request $request, AccountInterface $account $access = !empty($target_language) && !$target_language->locked && - $target_language->id != $source_language->id; + $target_language->id != $this->sourceLanguage->id; return $access ? static::ALLOW : static::DENY; } diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationOverviewAccess.php b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationOverviewAccess.php index b5a8be2..88a94ab 100644 --- a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationOverviewAccess.php +++ b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigTranslationOverviewAccess.php @@ -26,6 +26,13 @@ class ConfigTranslationOverviewAccess implements StaticAccessCheckInterface { protected $configMapperManager; /** + * The source language. + * + * @var \Drupal\Core\Language\Language + */ + protected $sourceLanguage; + + /** * Constructs a ConfigNameCheck object. * * @param \Drupal\config_translation\ConfigMapperManagerInterface $config_mapper_manager @@ -50,7 +57,7 @@ public function access(Route $route, Request $request, AccountInterface $account $mapper = $this->configMapperManager->createInstance($route->getDefault('plugin_id')); $mapper->populateFromRequest($request); - $source_language = $mapper->getLanguageWithFallback(); + $this->sourceLanguage = $mapper->getLanguageWithFallback(); // Allow access to the translation overview if the proper permission is // granted, the configuration has translatable pieces, and the source @@ -59,7 +66,7 @@ public function access(Route $route, Request $request, AccountInterface $account $account->hasPermission('translate configuration') && $mapper->hasSchema() && $mapper->hasTranslatable() && - !$source_language->locked; + !$this->sourceLanguage->locked; return $access ? static::ALLOW : static::DENY; } diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php b/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php index 6e4d537..98ffb0e 100644 --- a/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php +++ b/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/ContextualLink/ConfigTranslationContextualLink.php @@ -47,7 +47,7 @@ public function getTitle() { */ protected function mapperManager() { if (!$this->mapperManager) { - $this->mapperManager = \Drupal::getContainer()->get('plugin.manager.config_translation.mapper'); + $this->mapperManager = \Drupal::service('plugin.manager.config_translation.mapper'); } return $this->mapperManager; } diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/LocalTask/ConfigTranslationLocalTask.php b/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/LocalTask/ConfigTranslationLocalTask.php index 811230e..46a2ec2 100644 --- a/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/LocalTask/ConfigTranslationLocalTask.php +++ b/core/modules/config_translation/lib/Drupal/config_translation/Plugin/Menu/LocalTask/ConfigTranslationLocalTask.php @@ -47,7 +47,7 @@ public function getTitle() { */ protected function mapperManager() { if (!$this->mapperManager) { - $this->mapperManager = \Drupal::getContainer()->get('plugin.manager.config_translation.mapper'); + $this->mapperManager = \Drupal::service('plugin.manager.config_translation.mapper'); } return $this->mapperManager; }