From: Anton Khorev Date: Sat, 26 Apr 2025 17:54:50 +0000 (+0300) Subject: Preserve anchor in referer link inside warning X-Git-Tag: live~9^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/86488522b66d64eb27f6c9fd164a1deed4e09895?hp=--cc Preserve anchor in referer link inside warning --- 86488522b66d64eb27f6c9fd164a1deed4e09895 diff --git a/app/assets/javascripts/login.js b/app/assets/javascripts/login.js index 8297944f3..c0d9fe57b 100644 --- a/app/assets/javascripts/login.js +++ b/app/assets/javascripts/login.js @@ -2,5 +2,6 @@ $(function () { // Preserve location hash in referer if (location.hash) { $("#referer").val($("#referer").val() + location.hash); + $("#referer_link").prop("hash", location.hash); } }); diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 391a96291..ec4e256df 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -37,7 +37,7 @@ <%= t ".access_another_page" %>

- <%= link_to t(".visit_referring_page"), @safe_referer, :class => "btn btn-warning" %> + <%= link_to t(".visit_referring_page"), @safe_referer, :id => "referer_link", :class => "btn btn-warning" %>

<% end %> diff --git a/test/system/user_login_test.rb b/test/system/user_login_test.rb index 9800752a6..ce17d04ea 100644 --- a/test/system/user_login_test.rb +++ b/test/system/user_login_test.rb @@ -25,7 +25,7 @@ class UserLoginTest < ApplicationSystemTestCase user1 = create(:user, :display_name => "First User") sign_in_as(user1) - visit login_path(:referer => about_path) + visit login_path(:referer => copyright_path, :anchor => "trademarks") assert_button "First User" within_content_body do @@ -35,7 +35,8 @@ class UserLoginTest < ApplicationSystemTestCase click_on "Visit referring page" end - assert_current_path about_path + assert_current_path copyright_path + assert_equal "#trademarks", execute_script("return location.hash") end test "Only show safe referer links inside warnings" do