From: Anton Khorev Date: Thu, 27 Jun 2024 01:02:38 +0000 (+0300) Subject: Show alert on account home page if home location is not set X-Git-Tag: live~132^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/ae89ed45e5b9b9c16d596ba80ffc9aae39da6a50?ds=sidebyside;hp=-c Show alert on account home page if home location is not set --- ae89ed45e5b9b9c16d596ba80ffc9aae39da6a50 diff --git a/app/assets/javascripts/index/home.js b/app/assets/javascripts/index/home.js index d478625dc..7e297b724 100644 --- a/app/assets/javascripts/index/home.js +++ b/app/assets/javascripts/index/home.js @@ -12,17 +12,26 @@ OSM.Home = function (map) { map.setSidebarOverlaid(true); clearMarker(); - OSM.router.withoutMoveListener(function () { - map.setView(OSM.home, 15, { reset: true }); - }); - marker = L.marker(OSM.home, { - icon: OSM.getUserIcon(), - title: I18n.t("javascripts.home.marker_title") - }).addTo(map); + if (OSM.home) { + OSM.router.withoutMoveListener(function () { + map.setView(OSM.home, 15, { reset: true }); + }); + marker = L.marker(OSM.home, { + icon: OSM.getUserIcon(), + title: I18n.t("javascripts.home.marker_title") + }).addTo(map); + } else { + $("#browse_status").html( + $("
").text( + I18n.t("javascripts.home.not_set") + ) + ); + } }; page.unload = function () { clearMarker(); + $("#browse_status").empty(); }; return page; diff --git a/config/locales/en.yml b/config/locales/en.yml index 19cf8001e..5f9f706a0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3318,6 +3318,7 @@ en: centre_map: Centre map here home: marker_title: My home location + not_set: Home location is not set for your account redactions: edit: heading: "Edit Redaction" diff --git a/test/system/account_home_test.rb b/test/system/account_home_test.rb index 0d0e10615..813c45ec8 100644 --- a/test/system/account_home_test.rb +++ b/test/system/account_home_test.rb @@ -45,4 +45,13 @@ class AccountHomeTest < ApplicationSystemTestCase click_on "test user" assert_no_link "Go to Home Location" end + + test "account home page shows a warning when visited by users without home location" do + user = create(:user, :display_name => "test user") + sign_in_as(user) + + visit account_home_path + assert_no_selector "img.leaflet-marker-icon" + assert_text "Home location is not set" + end end