From 1c5eb09138573be62b0853f864c22ab283402c4a Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Tue, 14 Mar 2023 16:36:29 +0100 Subject: [PATCH] Safely join new parameters when switching the language Fixes CODEOCEAN-JY --- app/helpers/authenticated_url_helper.rb | 4 ++-- app/views/application/_locale_selector.html.slim | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/helpers/authenticated_url_helper.rb b/app/helpers/authenticated_url_helper.rb index 9a8c61e9..f549db09 100644 --- a/app/helpers/authenticated_url_helper.rb +++ b/app/helpers/authenticated_url_helper.rb @@ -82,8 +82,6 @@ module AuthenticatedUrlHelper TOKEN_PARAM end - private - def add_query_parameters(url, parameters) parsed_url = URI.parse url @@ -100,6 +98,8 @@ module AuthenticatedUrlHelper url end + private + def remove_query_parameters(url, parameters) parsed_url = URI.parse url diff --git a/app/views/application/_locale_selector.html.slim b/app/views/application/_locale_selector.html.slim index 4e3ff592..51a41677 100644 --- a/app/views/application/_locale_selector.html.slim +++ b/app/views/application/_locale_selector.html.slim @@ -4,4 +4,4 @@ li.nav-item.dropdown span.caret ul.dropdown-menu.p-0.mt-1 role='menu' - I18n.available_locales.sort_by { |locale| t("locales.#{locale}") }.each do |locale| - li = link_to(t("locales.#{locale}"), url_for(request.query_parameters.merge(locale: locale)), 'data-turbolinks' => "false", class: 'dropdown-item') + li = link_to(t("locales.#{locale}"), AuthenticatedUrlHelper.add_query_parameters(request.url, locale: locale), 'data-turbolinks' => "false", class: 'dropdown-item')