Safely join new parameters when switching the language

Fixes CODEOCEAN-JY
This commit is contained in:
Sebastian Serth
2023-03-14 16:36:29 +01:00
parent 5ddad9e83d
commit 1c5eb09138
2 changed files with 3 additions and 3 deletions

View File

@ -82,8 +82,6 @@ module AuthenticatedUrlHelper
TOKEN_PARAM TOKEN_PARAM
end end
private
def add_query_parameters(url, parameters) def add_query_parameters(url, parameters)
parsed_url = URI.parse url parsed_url = URI.parse url
@ -100,6 +98,8 @@ module AuthenticatedUrlHelper
url url
end end
private
def remove_query_parameters(url, parameters) def remove_query_parameters(url, parameters)
parsed_url = URI.parse url parsed_url = URI.parse url

View File

@ -4,4 +4,4 @@ li.nav-item.dropdown
span.caret span.caret
ul.dropdown-menu.p-0.mt-1 role='menu' ul.dropdown-menu.p-0.mt-1 role='menu'
- I18n.available_locales.sort_by { |locale| t("locales.#{locale}") }.each do |locale| - 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')