diff --git a/core/modules/language/lib/Drupal/language/Form/AdminDeleteForm.php b/core/modules/language/lib/Drupal/language/Form/AdminDeleteForm.php index 3084a9b..99e5972 100644 --- a/core/modules/language/lib/Drupal/language/Form/AdminDeleteForm.php +++ b/core/modules/language/lib/Drupal/language/Form/AdminDeleteForm.php @@ -8,15 +8,18 @@ namespace Drupal\language\Form; use Drupal\Core\Form\ConfirmFormBase; +use Drupal\Core\Controller\ControllerInterface; use Drupal\core\Language\Language; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpFoundation\Request; +use Drupal\Core\Routing\PathBasedGeneratorInterface; use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\DependencyInjection\ContainerInterface; /** * Defines a confirmation form for language deletion. */ -class AdminDeleteForm extends ConfirmFormBase { +class AdminDeleteForm extends ConfirmFormBase implements ControllerInterface { /** * The language to be deleted. @@ -25,6 +28,19 @@ class AdminDeleteForm extends ConfirmFormBase { */ protected $language; + protected $urlGenerator; + + public function __construct(PathBasedGeneratorInterface $url_generator = NULL) { + $this->urlGenerator = $url_generator; + } + + + public static function create(ContainerInterface $container) { + return new static( + $container->get('url_generator') + ); + } + /** * {@inheritdoc} */ @@ -70,8 +86,9 @@ public function buildForm(array $form, array &$form_state, $language = NULL, Req if (language_default()->langcode == $langcode) { drupal_set_message(t('The default language cannot be deleted.')); + $url = $this->urlGenerator->generateFromPath('admin/config/regional/language', array('absolute' => TRUE)); - return new RedirectResponse(url('admin/config/regional/language', array('absolute' => TRUE))); + return new RedirectResponse($url); }