From d138287b8361f4aef6fa93f582029fb0ee63e74b Mon Sep 17 00:00:00 2001 From: Tero Elonen Date: Thu, 22 Jan 2026 13:25:54 +0200 Subject: [PATCH 1/4] UHF-12474: Make translations in the module work again, move route titles to controller --- helfi_hakuvahti.info.yml | 2 +- helfi_hakuvahti.routing.yml | 6 +++--- src/Controller/HakuvahtiController.php | 30 ++++++++++++++++++++++++++ translations/fi.po | 2 ++ translations/sv.po | 2 ++ 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/helfi_hakuvahti.info.yml b/helfi_hakuvahti.info.yml index 599e61b..52cbb81 100644 --- a/helfi_hakuvahti.info.yml +++ b/helfi_hakuvahti.info.yml @@ -4,4 +4,4 @@ description: 'Drupal-integration for hakuvahti.' package: HELfi core_version_requirement: ^10 || ^11 'interface translation project': helfi_hakuvahti -'interface translation server pattern': modules/custom/helfi_hakuvahti/translations/%language.po +'interface translation server pattern': modules/contrib/helfi_hakuvahti/translations/%language.po diff --git a/helfi_hakuvahti.routing.yml b/helfi_hakuvahti.routing.yml index ccfa9a5..fc6d5e2 100644 --- a/helfi_hakuvahti.routing.yml +++ b/helfi_hakuvahti.routing.yml @@ -8,23 +8,23 @@ helfi_hakuvahti.subscribe: helfi_hakuvahti.confirm: path: '/hakuvahti/confirm' defaults: - _title: 'Saved search confirmation' _controller: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::confirm' + _title_callback: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::getConfirmationTitle' requirements: _permission: 'access content' helfi_hakuvahti.renew: path: '/hakuvahti/renew' defaults: - _title: 'Renew saved search' _controller: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::renew' + _title_callback: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::getRenewTitle' requirements: _permission: 'access content' helfi_hakuvahti.unsubscribe: path: '/hakuvahti/unsubscribe' defaults: - _title: 'Saved search deletion' _controller: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::unsubscribe' + _title_callback: '\Drupal\helfi_hakuvahti\Controller\HakuvahtiController::getUnsubscribeTitle' requirements: _permission: 'access content' diff --git a/src/Controller/HakuvahtiController.php b/src/Controller/HakuvahtiController.php index 8738a50..34bf99e 100644 --- a/src/Controller/HakuvahtiController.php +++ b/src/Controller/HakuvahtiController.php @@ -27,6 +27,36 @@ public function __construct( ) { } + /** + * A controller callback for confirm route that provides the route title. + * + * @return \Drupal\Core\StringTranslation\TranslatableMarkup + * The translated route title. + */ + public function getConfirmationTitle() { + return $this->t('Saved search confirmation', [], ['context' => 'Hakuvahti']); + } + + /** + * A controller callback for renew route that provides the route title. + * + * @return \Drupal\Core\StringTranslation\TranslatableMarkup + * The translated route title. + */ + public function getRenewTitle() { + return $this->t('Renew saved search', [], ['context' => 'Hakuvahti']); + } + + /** + * A controller callback for unsubscribe route that provides the route title. + * + * @return \Drupal\Core\StringTranslation\TranslatableMarkup + * The translated route title. + */ + public function getUnsubscribeTitle() { + return $this->t('Saved search deletion', [], ['context' => 'Hakuvahti']); + } + /** * Handles the confirmation of a saved search. * diff --git a/translations/fi.po b/translations/fi.po index 27f8a51..aade81e 100644 --- a/translations/fi.po +++ b/translations/fi.po @@ -117,8 +117,10 @@ msgctxt "Hakuvahti" msgid "Save a new search for jobs" msgstr "Tilaa uusi avoimien työpaikkojen hakuvahti" +msgctxt "Hakuvahti" msgid "Saved search confirmation" msgstr "Hakuvahdin vahvistaminen" +msgctxt "Hakuvahti" msgid "Saved search deletion" msgstr "Hakuvahdin poistaminen" diff --git a/translations/sv.po b/translations/sv.po index 94f17ac..3cd02b1 100644 --- a/translations/sv.po +++ b/translations/sv.po @@ -117,8 +117,10 @@ msgctxt "Hakuvahti" msgid "Save a new search for jobs" msgstr "Beställ en ny sökvakt för lediga jobb" +msgctxt "Hakuvahti" msgid "Saved search confirmation" msgstr "Bekräftelse av sökvakten" +msgctxt "Hakuvahti" msgid "Saved search deletion" msgstr "Radering av sökvakten" From cf86fd5e32df48ba440b844cfcd4969a78984418 Mon Sep 17 00:00:00 2001 From: Tero Elonen Date: Thu, 22 Jan 2026 15:42:05 +0200 Subject: [PATCH 2/4] UHF-12474: Fix Kernel tests --- tests/src/Kernel/HakuvahtiControllerTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/Kernel/HakuvahtiControllerTest.php b/tests/src/Kernel/HakuvahtiControllerTest.php index 2483bbb..3a1ad13 100644 --- a/tests/src/Kernel/HakuvahtiControllerTest.php +++ b/tests/src/Kernel/HakuvahtiControllerTest.php @@ -135,7 +135,7 @@ private function makeRequest(string $method, string $route, array $query = []): /** * Data provider for testRenewAndUnsubscribeRoutes. */ - private function dataProvider(): array { + public static function dataProvider(): array { return [ [ 'helfi_hakuvahti.renew', From 9b498174df0ca8a9d7ee1f5074b450e2b9a39622 Mon Sep 17 00:00:00 2001 From: Tero Elonen Date: Thu, 22 Jan 2026 16:30:03 +0200 Subject: [PATCH 3/4] UHF-12474: Add tests for the route titles --- tests/src/Kernel/HakuvahtiControllerTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/src/Kernel/HakuvahtiControllerTest.php b/tests/src/Kernel/HakuvahtiControllerTest.php index 3a1ad13..7910d40 100644 --- a/tests/src/Kernel/HakuvahtiControllerTest.php +++ b/tests/src/Kernel/HakuvahtiControllerTest.php @@ -5,6 +5,7 @@ namespace Drupal\Tests\helfi_hakuvahti\Kernel; use Drupal\Core\Url; +use Drupal\helfi_hakuvahti\Controller\HakuvahtiController; use Drupal\KernelTests\KernelTestBase; use Drupal\Tests\helfi_api_base\Traits\ApiTestTrait; use Drupal\Tests\user\Traits\UserCreationTrait; @@ -109,6 +110,16 @@ public function testRenewAndUnsubscribeRoutes(string $route, array $tests): void } } + /** + * Tests page titles. + */ + public function testTitle() : void { + $sut = HakuvahtiController::create($this->container); + $this->assertEquals('Renew saved search', $sut->getRenewTitle()); + $this->assertEquals('Saved search deletion', $sut->getUnsubscribeTitle()); + $this->assertEquals('Saved search confirmation', $sut->getConfirmationTitle()); + } + /** * Process a request. * From 0b329ca3f66fbd273154211a54954892d5511120 Mon Sep 17 00:00:00 2001 From: Toni Sinisalo Date: Fri, 23 Jan 2026 13:38:16 +0200 Subject: [PATCH 4/4] UHF-12474: Adding a cache context to hakuvahti_form to make sure the form never redirects with cached query parameters. --- src/Controller/HakuvahtiController.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Controller/HakuvahtiController.php b/src/Controller/HakuvahtiController.php index 34bf99e..13014dd 100644 --- a/src/Controller/HakuvahtiController.php +++ b/src/Controller/HakuvahtiController.php @@ -83,6 +83,11 @@ public function confirm(Request $request): array { 'subscription' => $subscription, ], ]), + '#cache' => [ + 'contexts' => [ + 'url', + ], + ], ]; }