diff --git a/core/lib/Drupal/Core/Updater/Module.php b/core/lib/Drupal/Core/Updater/Module.php index a28768d..d4f24ea 100644 --- a/core/lib/Drupal/Core/Updater/Module.php +++ b/core/lib/Drupal/Core/Updater/Module.php @@ -100,7 +100,7 @@ public function getSchemaUpdates() { public function postInstallTasks() { return array( \Drupal::l(t('Install another module'), new Url('update.module_install')), - \Drupal::l(t('Enable newly added modules'), new Url('system.modules_list')), + \Drupal::l(t('Enable newly added modules'), new Url('system.modules_install')), \Drupal::l(t('Administration pages'), new Url('system.admin')), ); } diff --git a/core/modules/config/src/Tests/ConfigInstallWebTest.php b/core/modules/config/src/Tests/ConfigInstallWebTest.php index cff60a4..ac81890 100644 --- a/core/modules/config/src/Tests/ConfigInstallWebTest.php +++ b/core/modules/config/src/Tests/ConfigInstallWebTest.php @@ -126,7 +126,7 @@ public function testPreExistingConfigInstall() { // Try to install config_install_fail_test and config_test. Doing this // will install the config_test module first because it is a dependency of // config_install_fail_test. - // @see \Drupal\system\Form\ModulesListForm::submitForm() + // @see \Drupal\system\Form\ModulesInstallForm::submitForm() $this->drupalPostForm('admin/modules', array('modules[Testing][config_test][enable]' => TRUE, 'modules[Testing][config_install_fail_test][enable]' => TRUE), t('Save configuration')); $this->assertRaw('Unable to install Configuration install fail test, config_test.dynamic.dotted.default already exists in active configuration.'); @@ -137,7 +137,7 @@ public function testPreExistingConfigInstall() { // Try to install config_install_fail_test without selecting config_test. // The user is shown a confirm form because the config_test module is a // dependency. - // @see \Drupal\system\Form\ModulesListConfirmForm::submitForm() + // @see \Drupal\system\Form\ModulesInstallConfirmForm::submitForm() $this->drupalPostForm('admin/modules', array('modules[Testing][config_install_fail_test][enable]' => TRUE), t('Save configuration')); $this->drupalPostForm(NULL, array(), t('Continue')); $this->assertRaw('Unable to install Configuration install fail test, config_test.dynamic.dotted.default already exists in active configuration.'); diff --git a/core/modules/editor/editor.module b/core/modules/editor/editor.module index 7fa3c05..47bbf01 100644 --- a/core/modules/editor/editor.module +++ b/core/modules/editor/editor.module @@ -28,7 +28,7 @@ function editor_help($route_name, RouteMatchInterface $route_match) { $output .= '
' . t('Follow these steps to set up and start using your website:') . '
'; $output .= '' . t('These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.') . '
'; + case 'system.modules_install': + $output = '' . t('The modules listed below are available for installation. Download additional contributed modules to extend your site\'s functionality.', array('!modules' => 'https://www.drupal.org/project/modules')) . '
'; + return $output; case 'system.modules_list': - $output = '' . t('Download additional contributed modules to extend your site\'s functionality.', array('!modules' => 'https://www.drupal.org/project/modules')) . '
'; + $output = '' . t('The modules listed below are currently installed. Install new modules to extend your site\'s functionality.', array('!modules' => \Drupal::url('system.modules_install'))) . '
'; if (\Drupal::moduleHandler()->moduleExists('update')) { if (update_manager_access()) { $output .= '' . t('Regularly review and install available updates to maintain a secure and current site. Always run the update script each time a module is updated.', array('!update-php' => \Drupal::url('system.db_update'), '!updates' => \Drupal::url('update.status'))) . '
'; diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml index 12e7d9a..8e19c0e 100644 --- a/core/modules/system/system.routing.yml +++ b/core/modules/system/system.routing.yml @@ -265,23 +265,31 @@ entity.date_format.delete_form: requirements: _entity_access: 'date_format.delete' -system.modules_list: +system.modules_install: path: '/admin/modules' defaults: _title: 'Extend' _title_context: 'With components' - _form: 'Drupal\system\Form\ModulesListForm' + _form: 'Drupal\system\Form\ModulesInstallForm' requirements: _permission: 'administer modules' -system.modules_list_confirm: - path: '/admin/modules/list/confirm' +system.modules_install_confirm: + path: '/admin/modules/install/confirm' defaults: - _form: 'Drupal\system\Form\ModulesListConfirmForm' + _form: 'Drupal\system\Form\ModulesInstallConfirmForm' _title: 'Some required modules must be enabled' requirements: _permission: 'administer modules' +system.modules_list: + path: '/admin/modules/list' + defaults: + _title: 'List' + _controller: 'Drupal\system\Controller\ModulesListController::listModules' + requirements: + _permission: 'administer modules' + system.theme_uninstall: path: '/admin/appearance/uninstall' defaults: diff --git a/core/modules/toolbar/css/toolbar.icons.theme.css b/core/modules/toolbar/css/toolbar.icons.theme.css index 65aff35..1a7d506 100644 --- a/core/modules/toolbar/css/toolbar.icons.theme.css +++ b/core/modules/toolbar/css/toolbar.icons.theme.css @@ -117,11 +117,11 @@ .toolbar-icon-entity-user-collection.is-active:before { background-image: url(../../../misc/icons/000000/people.svg); } -.toolbar-icon-system-modules-list:before { +.toolbar-icon-system-modules-install:before { background-image: url(../../../misc/icons/787878/puzzlepiece.svg); } -.toolbar-icon-system-modules-list:active:before, -.toolbar-icon-system-modules-list.is-active:before { +.toolbar-icon-system-modules-install:active:before, +.toolbar-icon-system-modules-install.is-active:before { background-image: url(../../../misc/icons/000000/puzzlepiece.svg); } .toolbar-icon-system-admin-config:before { diff --git a/core/modules/update/src/UpdateManager.php b/core/modules/update/src/UpdateManager.php index 007b040..f103e44 100644 --- a/core/modules/update/src/UpdateManager.php +++ b/core/modules/update/src/UpdateManager.php @@ -161,7 +161,7 @@ public function projectStorage($key) { // update status of the site to avoid presenting stale information. $route_names = array( 'update.theme_update', - 'system.modules_list', + 'system.modules_install', 'system.theme_install', 'update.module_update', 'update.module_install', diff --git a/core/modules/update/update.links.action.yml b/core/modules/update/update.links.action.yml index d6f6b8d..94cc4cf 100644 --- a/core/modules/update/update.links.action.yml +++ b/core/modules/update/update.links.action.yml @@ -10,7 +10,7 @@ update.module_install: title: 'Install new module' weight: 25 appears_on: - - system.modules_list + - system.modules_install update.theme_install: route_name: update.theme_install diff --git a/core/modules/update/update.links.task.yml b/core/modules/update/update.links.task.yml index d831bf0..bcf07e7 100644 --- a/core/modules/update/update.links.task.yml +++ b/core/modules/update/update.links.task.yml @@ -15,7 +15,7 @@ update.report_update: update.module_update: route_name: update.module_update - base_route: system.modules_list + base_route: system.modules_install title: Update weight: 10 diff --git a/core/modules/update/update.module b/core/modules/update/update.module index 4aed1ef..a00770a 100644 --- a/core/modules/update/update.module +++ b/core/modules/update/update.module @@ -73,7 +73,7 @@ function update_help($route_name, RouteMatchInterface $route_match) { case 'help.page.update': $output = ''; $output .= '' . t('The Update Manager module periodically checks for new versions of your site\'s software (including contributed modules and themes), and alerts administrators to available updates. The Update Manager system is also used by some other modules to manage updates and downloads; for example, the Interface Translation module uses the Update Manager to download translations from the localization server. Note that whenever the Update Manager system is used, anonymous usage statistics are sent to Drupal.org. If desired, you may disable the Update Manager module from the Extend page; if you do so, functionality that depends on the Update Manager system will not work. For more information, see the online documentation for the Update Manager module.', array('!update' => 'https://www.drupal.org/documentation/modules/update', '!modules' => \Drupal::url('system.modules_list'))) . '
'; + $output .= '' . t('The Update Manager module periodically checks for new versions of your site\'s software (including contributed modules and themes), and alerts administrators to available updates. The Update Manager system is also used by some other modules to manage updates and downloads; for example, the Interface Translation module uses the Update Manager to download translations from the localization server. Note that whenever the Update Manager system is used, anonymous usage statistics are sent to Drupal.org. If desired, you may disable the Update Manager module from the Extend page; if you do so, functionality that depends on the Update Manager system will not work. For more information, see the online documentation for the Update Manager module.', array('!update' => 'https://www.drupal.org/documentation/modules/update', '!modules' => \Drupal::url('system.modules_install'))) . '
'; // Only explain the Update manager if it has not been disabled. if (update_manager_access()) { $output .= '' . t('The Update Manager also allows administrators to update and install modules and themes through the administration interface.') . '
'; @@ -85,9 +85,9 @@ function update_help($route_name, RouteMatchInterface $route_match) { // Only explain the Update manager if it has not been disabled. if (update_manager_access()) { $output .= '