Skip to content
Snippets Groups Projects
Commit f922be7c authored by Chris Wells's avatar Chris Wells Committed by Tim Plunkett
Browse files

Issue #3365350 by tim.plunkett, chrisfromredfin: Tests are broken since...

Issue #3365350 by tim.plunkett, chrisfromredfin: Tests are broken since disabling "add new module" route
parent 8a4267bf
No related branches found
No related tags found
No related merge requests found
enabled_sources: enabled_sources:
- drupalorg_mockapi - drupalorg_mockapi
allow_ui_install: false allow_ui_install: false
disable_add_new_module: true
...@@ -8,6 +8,10 @@ build: ...@@ -8,6 +8,10 @@ build:
# Run code quality checks. # Run code quality checks.
container_command.commit-checks: container_command.commit-checks:
commands: commands:
# Install rsync.
- DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y rsync
# Update to latest Composer.
- composer self-update
# @todo Replace in favor of commit-code-check.sh once https://www.drupal.org/project/drupal/issues/3314100 lands. # @todo Replace in favor of commit-code-check.sh once https://www.drupal.org/project/drupal/issues/3314100 lands.
- modules/contrib/project_browser/scripts/commit-code-check.sh --drupalci - modules/contrib/project_browser/scripts/commit-code-check.sh --drupalci
halt-on-fail: true halt-on-fail: true
......
...@@ -43,7 +43,7 @@ function _project_browser_populate_from_fixture($truncate_first = TRUE) { ...@@ -43,7 +43,7 @@ function _project_browser_populate_from_fixture($truncate_first = TRUE) {
* Implements hook_menu_links_discovered_alter(). * Implements hook_menu_links_discovered_alter().
*/ */
function project_browser_menu_links_discovered_alter(&$links) { function project_browser_menu_links_discovered_alter(&$links) {
if (\Drupal::config('project_browser.admin_settings')->get('disable_add_new_module') ?? TRUE) { if (\Drupal::config('project_browser.admin_settings')->get('disable_add_new_module')) {
// Remove link from Admin toolbar module. // Remove link from Admin toolbar module.
unset($links['admin_toolbar_tools.extra_links:update.module_install']); unset($links['admin_toolbar_tools.extra_links:update.module_install']);
} }
......
<?php
/**
* @file
* Post update functions for Project Browser.
*/
/**
* Set a default value for disable_add_new_module setting.
*/
function project_browser_post_update_default_for_disable_add_new_module(&$sandbox) {
\Drupal::configFactory()
->getEditable('project_browser.admin_settings')
->set('disable_add_new_module', TRUE)
->save(TRUE);
}
...@@ -12,20 +12,12 @@ use Symfony\Component\Routing\RouteCollection; ...@@ -12,20 +12,12 @@ use Symfony\Component\Routing\RouteCollection;
class DisableAddNewModuleRouteSubscriber extends RouteSubscriberBase { class DisableAddNewModuleRouteSubscriber extends RouteSubscriberBase {
/** /**
* The config factory interface. * DisableAddNewModuleRouteSubscriber constructor.
* *
* @var \Drupal\Core\Config\ConfigFactoryInterface * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
*/
protected $configFactory;
/**
* EnabledSourceHandler constructor.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory. * The config factory.
*/ */
public function __construct(ConfigFactoryInterface $config_factory) { public function __construct(protected ConfigFactoryInterface $configFactory) {
$this->configFactory = $config_factory;
} }
/** /**
...@@ -33,8 +25,8 @@ class DisableAddNewModuleRouteSubscriber extends RouteSubscriberBase { ...@@ -33,8 +25,8 @@ class DisableAddNewModuleRouteSubscriber extends RouteSubscriberBase {
*/ */
protected function alterRoutes(RouteCollection $collection) { protected function alterRoutes(RouteCollection $collection) {
$config = $this->configFactory->get('project_browser.admin_settings'); $config = $this->configFactory->get('project_browser.admin_settings');
if ($config->get('disable_add_new_module') ?? TRUE) { if ($config->get('disable_add_new_module') && $route = $collection->get('update.module_install')) {
$collection->get('update.module_install')->setRequirement('_access', 'FALSE'); $route->setRequirement('_access', 'FALSE');
} }
} }
......
...@@ -157,7 +157,7 @@ class SettingsForm extends ConfigFormBase { ...@@ -157,7 +157,7 @@ class SettingsForm extends ConfigFormBase {
$form['disable_add_new_module'] = [ $form['disable_add_new_module'] = [
'#type' => 'checkbox', '#type' => 'checkbox',
'#title' => $this->t('Disable "Add new module" page'), '#title' => $this->t('Disable "Add new module" page'),
'#default_value' => $config->get('disable_add_new_module') ?? TRUE, '#default_value' => $config->get('disable_add_new_module'),
'#description' => $this->t('Removes access to the Drupal page that allows .tar modules to be installed, which does now use composer, so is strongly discouraged when using Project Browser.'), '#description' => $this->t('Removes access to the Drupal page that allows .tar modules to be installed, which does now use composer, so is strongly discouraged when using Project Browser.'),
]; ];
...@@ -283,7 +283,7 @@ class SettingsForm extends ConfigFormBase { ...@@ -283,7 +283,7 @@ class SettingsForm extends ConfigFormBase {
*/ */
public function submitForm(array &$form, FormStateInterface $form_state) { public function submitForm(array &$form, FormStateInterface $form_state) {
$settings = $this->config('project_browser.admin_settings'); $settings = $this->config('project_browser.admin_settings');
$disable_old = $settings->get('disable_add_new_module') ?? TRUE; $disable_old = $settings->get('disable_add_new_module');
$disable_new = $form_state->getValue('disable_add_new_module'); $disable_new = $form_state->getValue('disable_add_new_module');
$all_plugins = $form_state->getValue('enabled_sources'); $all_plugins = $form_state->getValue('enabled_sources');
$enabled_plugins = array_filter($all_plugins, fn($source) => $source['status'] === 'enabled'); $enabled_plugins = array_filter($all_plugins, fn($source) => $source['status'] === 'enabled');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment