From: Tom Hughes Date: Sun, 30 Jun 2024 09:28:02 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/4927' X-Git-Tag: live~927 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/7ce5dffb6ddad9d1a7eaa9fb7a1fce47158d9175?hp=9e99fa05c9e7d849a95d6faf6fa7a5d9988fc308 Merge remote-tracking branch 'upstream/pull/4927' --- diff --git a/app/assets/javascripts/embed.js.erb b/app/assets/javascripts/embed.js.erb index 4ebb89da9..9a0ec07d3 100644 --- a/app/assets/javascripts/embed.js.erb +++ b/app/assets/javascripts/embed.js.erb @@ -5,13 +5,13 @@ //= require i18n //= require i18n/embed -window.onload = function () { - if (navigator.languages) { - I18n.locale = navigator.languages[0]; - } else if (navigator.language) { - I18n.locale = navigator.language; - } +if (navigator.languages) { + I18n.locale = navigator.languages[0]; +} else if (navigator.language) { + I18n.locale = navigator.language; +} +window.onload = function () { var query = (window.location.search || '?').slice(1), args = {}; diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 779174e25..e4d6c70d9 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -117,7 +117,7 @@ class MessagesController < ApplicationController # Set the message as being read or unread. def mark - @message = Message.where(:recipient => current_user).or(Message.where(:sender => current_user)).find(params[:message_id]) + @message = current_user.messages.find(params[:message_id]) if params[:mark] == "unread" message_read = false notice = t ".as_unread" diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 4f5d7e0c2..d767cb887 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -64,7 +64,7 @@ module UserHelper :size => "36"), auth_path(options.merge(:provider => provider)), :method => :post, - :class => "auth_button p-2 d-block", + :class => "auth_button btn btn-light mx-1 p-2 d-block", :title => t("application.auth_providers.#{name}.title") ) end @@ -77,7 +77,7 @@ module UserHelper :size => "36") + t("application.auth_providers.#{name}.title"), auth_path(options.merge(:provider => provider)), :method => :post, - :class => "auth_button fs-6 border rounded text-body-secondary text-decoration-none py-2 px-4 d-flex justify-content-center align-items-center", + :class => "auth_button btn btn-outline-secondary fs-6 border rounded py-2 px-4 d-flex justify-content-center align-items-center", :title => t("application.auth_providers.#{name}.title") ) end diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index e92c9caac..be921ee9c 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -31,7 +31,7 @@ "#", :id => "openid_open_url", :title => t("application.auth_providers.openid.title"), - :class => "p-2 d-block" %> + :class => "btn btn-light mx-1 p-2 d-block" %> <% %w[google facebook microsoft github wikipedia].each do |provider| %> <% unless @preferred_auth_provider == provider %> diff --git a/config/banners.yml b/config/banners.yml index d9eb92c13..bc5497a4c 100644 --- a/config/banners.yml +++ b/config/banners.yml @@ -11,7 +11,7 @@ donate_2023: sotmeu_2024: id: sotmeu_2024 alt: State of the Map Europe 2024 - link: https://tobilet.pl/state-of-the-map-europe-2024.html + link: https://stateofthemap.eu/ img: banners/StateoftheMapEurope_2024.png enddate: 2024-jul-18 sotmasia_2023: diff --git a/config/locales/en.yml b/config/locales/en.yml index 4ad1687a6..6c90eacc9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -837,6 +837,7 @@ en: college: "College Building" commercial: "Commercial Building" construction: "Building under Construction" + cowshed: "Cowshed" detached: "Detached House" dormitory: "Dormitory" duplex: "Duplex House" @@ -866,6 +867,7 @@ en: shed: "Shed" stable: "Stable" static_caravan: "Caravan" + sty: "Sty" temple: "Temple Building" terrace: "Terrace Building" train_station: "Train Station Building" diff --git a/test/controllers/messages_controller_test.rb b/test/controllers/messages_controller_test.rb index db3a200b6..3f19b5819 100644 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@ -369,10 +369,10 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest ## # test the mark action def test_mark - user = create(:user) + sender_user = create(:user) recipient_user = create(:user) other_user = create(:user) - message = create(:message, :unread, :sender => user, :recipient => recipient_user) + message = create(:message, :unread, :sender => sender_user, :recipient => recipient_user) # Check that the marking a message requires us to login post message_mark_path(message) @@ -386,6 +386,14 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest assert_response :not_found assert_template "no_such_message" + # Login as the message sender_user + session_for(sender_user) + + # Check that marking a message we sent fails + post message_mark_path(message) + assert_response :not_found + assert_template "no_such_message" + # Login as the message recipient_user session_for(recipient_user) diff --git a/test/helpers/user_helper_test.rb b/test/helpers/user_helper_test.rb index ed05aca36..c7c63d62a 100644 --- a/test/helpers/user_helper_test.rb +++ b/test/helpers/user_helper_test.rb @@ -117,7 +117,7 @@ class UserHelperTest < ActionView::TestCase def test_auth_button button = auth_button("google", "google") img_tag = "\"Log" - assert_equal("#{img_tag}", button) + assert_equal("#{img_tag}", button) end private diff --git a/test/system/embed_test.rb b/test/system/embed_test.rb new file mode 100644 index 000000000..6003c6f4a --- /dev/null +++ b/test/system/embed_test.rb @@ -0,0 +1,19 @@ +require "application_system_test_case" + +class EmbedTest < ApplicationSystemTestCase + test "shows localized report link" do + visit export_embed_path + assert_link "Report a problem" + end +end + +class GermanEmbedTest < ApplicationSystemTestCase + driven_by :selenium, :using => :headless_firefox, :options => { :name => :selenium_de } do |options| + options.add_preference("intl.accept_languages", "de") + end + + test "shows localized report link" do + visit export_embed_path + assert_link "Ein Problem melden" + end +end diff --git a/yarn.lock b/yarn.lock index 040bf124c..914ebb8c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,14 +19,14 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/config-array@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.16.0.tgz#bb3364fc39ee84ec3a62abdc4b8d988d99dfd706" - integrity sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg== +"@eslint/config-array@^0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.17.0.tgz#ff305e1ee618a00e6e5d0485454c8d92d94a860d" + integrity sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA== dependencies: "@eslint/object-schema" "^2.1.4" debug "^4.3.1" - minimatch "^3.0.5" + minimatch "^3.1.2" "@eslint/eslintrc@^3.1.0": version "3.1.0" @@ -43,10 +43,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.5.0": - version "9.5.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.5.0.tgz#0e9c24a670b8a5c86bff97b40be13d8d8f238045" - integrity sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w== +"@eslint/js@9.6.0": + version "9.6.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.6.0.tgz#5b0cb058cc13d9c92d4e561d3538807fa5127c95" + integrity sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A== "@eslint/object-schema@^2.1.4": version "2.1.4" @@ -89,10 +89,10 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.11.3: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" + integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== ajv@^6.12.4: version "6.12.6" @@ -246,15 +246,15 @@ eslint-visitor-keys@^4.0.0: integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== eslint@^9.0.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.5.0.tgz#11856034b94a9e1a02cfcc7e96a9f0956963cd2f" - integrity sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw== + version "9.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.6.0.tgz#9f54373afa15e1ba356656a8d96233182027fb49" + integrity sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/config-array" "^0.16.0" + "@eslint/config-array" "^0.17.0" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.5.0" + "@eslint/js" "9.6.0" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" @@ -265,7 +265,7 @@ eslint@^9.0.0: escape-string-regexp "^4.0.0" eslint-scope "^8.0.1" eslint-visitor-keys "^4.0.0" - espree "^10.0.1" + espree "^10.1.0" esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -285,12 +285,12 @@ eslint@^9.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f" - integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== +espree@^10.0.1, espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== dependencies: - acorn "^8.11.3" + acorn "^8.12.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^4.0.0" @@ -541,7 +541,7 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -minimatch@^3.0.5, minimatch@^3.1.2: +minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==