From 783901797e38bbbe78feac8ad4958bef9bb0bce1 Mon Sep 17 00:00:00 2001 From: Lee <8024370+millnut@users.noreply.github.com> Date: Tue, 21 Jan 2025 12:18:27 +0000 Subject: [PATCH 1/3] feat: update gin to recommended version (#808) * feat: update gin to recommended version * feat: update gin to recommended version --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 8397370..31b8f11 100644 --- a/composer.json +++ b/composer.json @@ -14,9 +14,9 @@ "drupal/admin_toolbar": "^3.0", "drupal/content_lock": "^2.4", "drupal/core": "^10.0", - "drupal/gin": "^3.0@alpha", + "drupal/gin": "^3.0 || ^4.0", "drupal/gin_login": "^2.0.3", - "drupal/gin_toolbar": "^1.0@beta", + "drupal/gin_toolbar": "^1.0 || ^2.0", "drupal/entity_browser": "^2.9", "drupal/masquerade": "^2.0", "drupal/preview_link": "^2.1@alpha", From 729aecc04c2eb54e4e3362653c1e9e2bb42f1e60 Mon Sep 17 00:00:00 2001 From: Rupert Jabelman Date: Wed, 22 Jan 2025 13:13:42 +0000 Subject: [PATCH 2/3] Removes localgov_content_lock and localgov_login_redirect from the profile so we can use the spun-out versions. Updates composer.json and localgov.info.yml. (#807) Co-authored-by: Finn Lewis --- composer.json | 7 +- localgov.info.yml | 6 +- modules/localgov_content_lock/README.md | 11 -- .../localgov_content_lock.info.yml | 8 -- .../localgov_content_lock.install | 22 ---- .../localgov_content_lock.links.menu.yml | 4 - .../localgov_content_lock.links.task.yml | 5 - .../localgov_content_lock.module | 6 - .../tests/src/Functional/ContentLockTest.php | 74 ------------ modules/localgov_login_redirect/README.md | 3 - .../localgov_login_redirect.settings.yml | 2 - .../schema/localgov_login_redirect.schema.yml | 10 -- .../localgov_login_redirect.info.yml | 9 -- .../localgov_login_redirect.links.menu.yml | 5 - .../localgov_login_redirect.module | 38 ------ .../localgov_login_redirect.routing.yml | 7 -- .../src/Form/LoginRedirectSettingsForm.php | 109 ------------------ .../src/Functional/LoginRedirectTest.php | 65 ----------- 18 files changed, 7 insertions(+), 384 deletions(-) delete mode 100644 modules/localgov_content_lock/README.md delete mode 100644 modules/localgov_content_lock/localgov_content_lock.info.yml delete mode 100644 modules/localgov_content_lock/localgov_content_lock.install delete mode 100644 modules/localgov_content_lock/localgov_content_lock.links.menu.yml delete mode 100644 modules/localgov_content_lock/localgov_content_lock.links.task.yml delete mode 100644 modules/localgov_content_lock/localgov_content_lock.module delete mode 100644 modules/localgov_content_lock/tests/src/Functional/ContentLockTest.php delete mode 100644 modules/localgov_login_redirect/README.md delete mode 100644 modules/localgov_login_redirect/config/install/localgov_login_redirect.settings.yml delete mode 100644 modules/localgov_login_redirect/config/schema/localgov_login_redirect.schema.yml delete mode 100644 modules/localgov_login_redirect/localgov_login_redirect.info.yml delete mode 100644 modules/localgov_login_redirect/localgov_login_redirect.links.menu.yml delete mode 100644 modules/localgov_login_redirect/localgov_login_redirect.module delete mode 100644 modules/localgov_login_redirect/localgov_login_redirect.routing.yml delete mode 100644 modules/localgov_login_redirect/src/Form/LoginRedirectSettingsForm.php delete mode 100644 modules/localgov_login_redirect/tests/src/Functional/LoginRedirectTest.php diff --git a/composer.json b/composer.json index 31b8f11..98a4a00 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,6 @@ ], "require": { "drupal/admin_toolbar": "^3.0", - "drupal/content_lock": "^2.4", "drupal/core": "^10.0", "drupal/gin": "^3.0 || ^4.0", "drupal/gin_login": "^2.0.3", @@ -21,25 +20,27 @@ "drupal/masquerade": "^2.0", "drupal/preview_link": "^2.1@alpha", "drupal/redirect": "^1.10", - "drupal/simple_sitemap": "^4.1", "drupal/search_api": "^1.21", + "drupal/simple_sitemap": "^4.1", "drush/drush": ">=10", "localgovdrupal/localgov_alert_banner": "^1.2.0", "localgovdrupal/localgov_base": "^1.3.1", + "localgovdrupal/localgov_content_lock": "^1.0.0", "localgovdrupal/localgov_core": "^2.12.0", "localgovdrupal/localgov_demo": "^3.0@alpha", "localgovdrupal/localgov_directories": "^3.0", "localgovdrupal/localgov_events": "^3.0", "localgovdrupal/localgov_guides": "^2.1.0", + "localgovdrupal/localgov_login_redirect": "^1.0.0", "localgovdrupal/localgov_menu_link_group": "^1.1.0", "localgovdrupal/localgov_news": "^2.3.0", "localgovdrupal/localgov_openreferral": "^2.0@beta", "localgovdrupal/localgov_paragraphs": "^2.3.0", + "localgovdrupal/localgov_scarfolk": "^1.1.2", "localgovdrupal/localgov_search": "^1.2.0", "localgovdrupal/localgov_services": "^2.1.0", "localgovdrupal/localgov_step_by_step": "^2.1.0", "localgovdrupal/localgov_subsites": "^2.3.0", - "localgovdrupal/localgov_scarfolk": "^1.1.2", "localgovdrupal/localgov_workflows": "^1.2.0", "php": ">=8.1.0" }, diff --git a/localgov.info.yml b/localgov.info.yml index d0303c6..dc32a24 100644 --- a/localgov.info.yml +++ b/localgov.info.yml @@ -43,12 +43,12 @@ install: - redirect:redirect_404 - simple_sitemap:simple_sitemap # LocalGov Drupal - - localgov:localgov_login_redirect + - localgov_core:localgov_admin_role + - localgov_core:localgov_admin_theme_improvements - localgov_core:localgov_core - localgov_core:localgov_media - - localgov_core:localgov_admin_role - localgov_core:localgov_roles - - localgov_core:localgov_admin_theme_improvements + - localgov_login_redirect:localgov_login_redirect - localgov_menu_link_group:localgov_menu_link_group - localgov_page_components:localgov_page_components - localgov_paragraphs:localgov_paragraphs diff --git a/modules/localgov_content_lock/README.md b/modules/localgov_content_lock/README.md deleted file mode 100644 index 01f2128..0000000 --- a/modules/localgov_content_lock/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# LocalGov Drupal Content Lock - -Customises the Content Lock module for use with LocalGov Drupal. - -When enabled this module will: - -* Enable the Content Lock and Content Lock Timeout modules. -* Enables content locking for all enabled content types. -* Adds a link to the content lock view to the content admin page and the admin menu. - -The default content lock timeout is left at 30 minutes. This can be changed at /admin/config/content/content_lock/timeout. diff --git a/modules/localgov_content_lock/localgov_content_lock.info.yml b/modules/localgov_content_lock/localgov_content_lock.info.yml deleted file mode 100644 index 87602f3..0000000 --- a/modules/localgov_content_lock/localgov_content_lock.info.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: LocalGov Content Lock -type: module -description: Customises the Content Lock module for use with LocalGov Drupal -package: LocalGov Drupal -core_version_requirement: ^9 || ^10 -dependencies: - - content_lock:content_lock - - content_lock:content_lock_timeout diff --git a/modules/localgov_content_lock/localgov_content_lock.install b/modules/localgov_content_lock/localgov_content_lock.install deleted file mode 100644 index d9d640c..0000000 --- a/modules/localgov_content_lock/localgov_content_lock.install +++ /dev/null @@ -1,22 +0,0 @@ -getEditable('content_lock.settings'); - $content_lock_config->set('types.node', ['*' => '*']); - $content_lock_config->save(); -} diff --git a/modules/localgov_content_lock/localgov_content_lock.links.menu.yml b/modules/localgov_content_lock/localgov_content_lock.links.menu.yml deleted file mode 100644 index 6d7b238..0000000 --- a/modules/localgov_content_lock/localgov_content_lock.links.menu.yml +++ /dev/null @@ -1,4 +0,0 @@ -localgov_content_lock.locked_content: - title: 'Locked content' - parent: system.admin_content - route_name: view.locked_content.page_1 diff --git a/modules/localgov_content_lock/localgov_content_lock.links.task.yml b/modules/localgov_content_lock/localgov_content_lock.links.task.yml deleted file mode 100644 index ab5d773..0000000 --- a/modules/localgov_content_lock/localgov_content_lock.links.task.yml +++ /dev/null @@ -1,5 +0,0 @@ -localgov_content_lock.locked_content: - title: 'Locked' - parent_id: system.admin_content - route_name: view.locked_content.page_1 - weight: 100 diff --git a/modules/localgov_content_lock/localgov_content_lock.module b/modules/localgov_content_lock/localgov_content_lock.module deleted file mode 100644 index f1ce5cd..0000000 --- a/modules/localgov_content_lock/localgov_content_lock.module +++ /dev/null @@ -1,6 +0,0 @@ -assertTrue(\Drupal::service('theme_installer')->install(['claro'])); - $this->container->get('config.factory') - ->getEditable('system.theme') - ->set('default', 'claro') - ->set('admin', 'claro') - ->save(); - } - - /** - * Test content lock configuration. - */ - public function testContentLockConfiguration() { - - $user = $this->drupalCreateUser([], 'test_user', TRUE); - $this->drupalLogin($user); - - // Create a node. - $this->drupalGet('/node/add/localgov_services_page'); - $title = $this->randomMachineName(); - $this->submitForm( - [ - 'title[0][value]' => $title, - 'body[0][summary]' => 'Test content lock', - 'body[0][value]' => 'Test content lock', - ], - 'Save' - ); - $this->assertSession()->pageTextContains('Service page ' . $title . ' has been created.'); - $nid = $this->drupalGetNodeByTitle($title)->id(); - - // Check that the node gets locked when editing. - $this->drupalGet('/node/' . $nid . '/edit'); - $this->assertSession()->pageTextContains('This content is now locked against simultaneous editing.'); - $this->drupalGet('/admin/content/locked-content'); - $this->assertSession()->pageTextContains($title); - } - -} diff --git a/modules/localgov_login_redirect/README.md b/modules/localgov_login_redirect/README.md deleted file mode 100644 index 6f04dbd..0000000 --- a/modules/localgov_login_redirect/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# LocalGov Drupal Login Page - -This is a simple module that redirects users to the main admin content page when they login. \ No newline at end of file diff --git a/modules/localgov_login_redirect/config/install/localgov_login_redirect.settings.yml b/modules/localgov_login_redirect/config/install/localgov_login_redirect.settings.yml deleted file mode 100644 index c9c9133..0000000 --- a/modules/localgov_login_redirect/config/install/localgov_login_redirect.settings.yml +++ /dev/null @@ -1,2 +0,0 @@ -enabled: true -redirect_path: '/admin/content' diff --git a/modules/localgov_login_redirect/config/schema/localgov_login_redirect.schema.yml b/modules/localgov_login_redirect/config/schema/localgov_login_redirect.schema.yml deleted file mode 100644 index ea218c2..0000000 --- a/modules/localgov_login_redirect/config/schema/localgov_login_redirect.schema.yml +++ /dev/null @@ -1,10 +0,0 @@ -localgov_login_redirect.settings: - type: config_object - label: 'LocalGov Login Redirect settings' - mapping: - enabled: - type: boolean - label: 'Enabled' - redirect_path: - type: string - label: 'Redirection path' diff --git a/modules/localgov_login_redirect/localgov_login_redirect.info.yml b/modules/localgov_login_redirect/localgov_login_redirect.info.yml deleted file mode 100644 index 928f1f8..0000000 --- a/modules/localgov_login_redirect/localgov_login_redirect.info.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: LocalGov Login Redirect -description: Simple module to redirect users at login. -package: LocalGov Drupal -type: module -core_version_requirement: ^9 || ^10 - -configure: localgov_login_redirect.settings -dependencies: - - drupal:user diff --git a/modules/localgov_login_redirect/localgov_login_redirect.links.menu.yml b/modules/localgov_login_redirect/localgov_login_redirect.links.menu.yml deleted file mode 100644 index 731bbd5..0000000 --- a/modules/localgov_login_redirect/localgov_login_redirect.links.menu.yml +++ /dev/null @@ -1,5 +0,0 @@ -localgov_login_redirect.settings: - title: 'Localgov login redirect settings' - description: 'Configure settings for the Localgov Login Redirect module.' - route_name: localgov_login_redirect.settings - parent: 'system.admin_config_system' diff --git a/modules/localgov_login_redirect/localgov_login_redirect.module b/modules/localgov_login_redirect/localgov_login_redirect.module deleted file mode 100644 index ee9a7ea..0000000 --- a/modules/localgov_login_redirect/localgov_login_redirect.module +++ /dev/null @@ -1,38 +0,0 @@ -get('localgov_login_redirect.settings'); - if ($config->get('enabled') !== TRUE) { - return; - } - - // Check user is using a login link. - $current_route = Drupal::routeMatch()->getRouteName(); - if (in_array($current_route, ['user.reset', 'user.reset.login'], TRUE)) { - return; - } - - // Check for a destination parameter. - $request = \Drupal::request(); - if (!is_null($request->query->get('destination', NULL))) { - return; - } - - // Set destination parameter to redirect user with access permissions. - $path = $config->get('redirect_path') ?? '/admin/content'; - if ($url = \Drupal::service('path.validator')->getUrlIfValid($path)) { - $request->query->set('destination', $url->toString()); - } -} diff --git a/modules/localgov_login_redirect/localgov_login_redirect.routing.yml b/modules/localgov_login_redirect/localgov_login_redirect.routing.yml deleted file mode 100644 index 128a92c..0000000 --- a/modules/localgov_login_redirect/localgov_login_redirect.routing.yml +++ /dev/null @@ -1,7 +0,0 @@ -localgov_login_redirect.settings: - path: '/admin/config/system/localgov_login_redirect' - defaults: - _form: '\Drupal\localgov_login_redirect\Form\LoginRedirectSettingsForm' - _title: 'Localgov login redirect settings' - requirements: - _permission: 'administer site configuration' diff --git a/modules/localgov_login_redirect/src/Form/LoginRedirectSettingsForm.php b/modules/localgov_login_redirect/src/Form/LoginRedirectSettingsForm.php deleted file mode 100644 index 845f463..0000000 --- a/modules/localgov_login_redirect/src/Form/LoginRedirectSettingsForm.php +++ /dev/null @@ -1,109 +0,0 @@ -pathValidator = $path_validator; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container) { - return new static( - $container->get('config.factory'), - $container->get('path.validator') - ); - } - - /** - * {@inheritdoc} - */ - public function getFormId() { - return 'localgov_login_redirect_settings_form'; - } - - /** - * {@inheritdoc} - */ - protected function getEditableConfigNames() { - return ['localgov_login_redirect.settings']; - } - - /** - * {@inheritdoc} - */ - public function buildForm(array $form, FormStateInterface $form_state) { - - $form = parent::buildForm($form, $form_state); - $config = $this->config('localgov_login_redirect.settings'); - - $form['enabled'] = [ - '#type' => 'checkbox', - '#title' => $this->t('Enable login redirect'), - '#description' => $this->t('Redirect users to the content overview page at login.'), - '#default_value' => $config->get('enabled'), - ]; - $form['redirect_path'] = [ - '#type' => 'textfield', - '#title' => $this->t('User redirect path'), - '#description' => $this->t('The Drupal path name to redirect users to once logged in.'), - '#default_value' => $config->get('redirect_path'), - ]; - - return $form; - } - - /** - * {@inheritdoc} - */ - public function validateForm(array &$form, FormStateInterface $form_state) { - parent::validateForm($form, $form_state); - - $redirect_path = $form_state->getValue('redirect_path'); - if (!empty($redirect_path) and !$this->pathValidator->isValid($redirect_path)) { - $form_state->setErrorByName('redirect_path', 'Redirect path is invalid.'); - } - } - - /** - * {@inheritdoc} - */ - public function submitForm(array &$form, FormStateInterface $form_state) { - - $config = $this->config('localgov_login_redirect.settings'); - $config->set('enabled', $form_state->getValue('enabled') === 1); - $config->set('redirect_path', $form_state->getValue('redirect_path')); - $config->save(); - - parent::submitForm($form, $form_state); - } - -} diff --git a/modules/localgov_login_redirect/tests/src/Functional/LoginRedirectTest.php b/modules/localgov_login_redirect/tests/src/Functional/LoginRedirectTest.php deleted file mode 100644 index ae0b1ea..0000000 --- a/modules/localgov_login_redirect/tests/src/Functional/LoginRedirectTest.php +++ /dev/null @@ -1,65 +0,0 @@ -drupalCreateUser([]); - $this->drupalGet('user/login'); - $edit = ['name' => $user1->getAccountName(), 'pass' => $user1->passRaw]; - $this->submitForm($edit, 'Log in'); - $this->assertSession()->addressEquals('user/' . $user1->id()); - $this->drupalLogout(); - - // Check user with view content overview permission lands on content page. - $user2 = $this->drupalCreateUser(['access content overview']); - $this->drupalGet('user/login'); - $edit = ['name' => $user2->getAccountName(), 'pass' => $user2->passRaw]; - $this->submitForm($edit, 'Log in'); - $this->assertSession()->addressEquals('admin/content'); - $this->drupalLogout(); - - // Ensure the destination parameter is not overwritten. - $user3 = $this->drupalCreateUser([]); - $this->drupalGet('user/login', ['query' => ['destination' => 'foo']]); - $edit = ['name' => $user3->getAccountName(), 'pass' => $user3->passRaw]; - $this->submitForm($edit, 'Log in'); - $this->assertSession()->addressEquals('foo'); - $this->drupalLogout(); - - // Ensure password reset links are not redirected. - $user4 = $this->drupalCreateUser(['access content overview']); - $reset_link = user_pass_reset_url($user4); - $this->drupalGet($reset_link); - $this->assertSession()->addressEquals('user/reset/' . $user4->id()); - } - -} From 8a0015ecf87679d244e0a1e713619bdf12ddfc87 Mon Sep 17 00:00:00 2001 From: Rupert Jabelman Date: Tue, 28 Jan 2025 12:04:58 +0000 Subject: [PATCH 3/3] Remove dependency on search_api. (#812) --- composer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/composer.json b/composer.json index 98a4a00..73a78ec 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,6 @@ "drupal/masquerade": "^2.0", "drupal/preview_link": "^2.1@alpha", "drupal/redirect": "^1.10", - "drupal/search_api": "^1.21", "drupal/simple_sitemap": "^4.1", "drush/drush": ">=10", "localgovdrupal/localgov_alert_banner": "^1.2.0",