diff --git a/core/modules/system/src/Form/ModulesUninstallConfirmForm.php b/core/modules/system/src/Form/ModulesUninstallConfirmForm.php index 159959d5c33528d72d046c02ac76848f7f93b8a9..5ee4adbe032dd26477c31595ed1af48af14a7dd5 100644 --- a/core/modules/system/src/Form/ModulesUninstallConfirmForm.php +++ b/core/modules/system/src/Form/ModulesUninstallConfirmForm.php @@ -135,7 +135,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { // Prevent this page from showing when the module list is empty. if (empty($this->modules)) { - return new RedirectResponse('/admin/modules/uninstall'); + return $this->redirect('system.modules_uninstall'); } $data = system_rebuild_module_data(); diff --git a/core/modules/system/src/Tests/Module/UninstallTest.php b/core/modules/system/src/Tests/Module/UninstallTest.php index 337258c679261e9e6b0d4f6661e0bdd7ea65fb6a..c7eb051c38575bee37b4b52aa18f2cc8d58e5185 100644 --- a/core/modules/system/src/Tests/Module/UninstallTest.php +++ b/core/modules/system/src/Tests/Module/UninstallTest.php @@ -106,5 +106,10 @@ function testUninstallPage() { // Make sure our unique cache entry is gone. $cached = \Drupal::cache()->get('uninstall_test'); $this->assertFalse($cached, 'Cache entry not found'); + + // Make sure confirmation page is accessible only during uninstall process. + $this->drupalGet('admin/modules/uninstall/confirm'); + $this->assertUrl('admin/modules/uninstall'); + $this->assertTitle(t('Uninstall') . ' | Drupal'); } }