From fb8ef8882855baecbe72957e83d1381ad90ca8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 7 May 2026 15:57:34 +0200 Subject: [PATCH] Allow setting external link on redirect page without blank target The target=_blank is forced by a stimulus controller, so we need it to opt out of that behavior --- app/views/external_link_warning/show.html.erb | 1 + .../src/stimulus/controllers/external-links.controller.ts | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/views/external_link_warning/show.html.erb b/app/views/external_link_warning/show.html.erb index c9d8ea101b35..f45567862de1 100644 --- a/app/views/external_link_warning/show.html.erb +++ b/app/views/external_link_warning/show.html.erb @@ -39,6 +39,7 @@ See COPYRIGHT and LICENSE files for more details. scheme: :danger, data: { turbo: false, + skip_external_link_blank: true, allow_external_link: true } ) { I18n.t("external_link_warning.continue_button") } %> diff --git a/frontend/src/stimulus/controllers/external-links.controller.ts b/frontend/src/stimulus/controllers/external-links.controller.ts index 2bc586cb6530..b23f7935d74f 100644 --- a/frontend/src/stimulus/controllers/external-links.controller.ts +++ b/frontend/src/stimulus/controllers/external-links.controller.ts @@ -112,7 +112,9 @@ export default class ExternalLinksController extends ApplicationController { } private updateExternalLink(link:HTMLAnchorElement) { - link.target = '_blank'; + if (!link.dataset.skipExternalLinkBlank) { + link.target = '_blank'; + } attributeTokenList(link, 'rel').add('noopener', 'noreferrer'); // Capture external links through redirect page