From: Tom Hughes Date: Wed, 14 Jun 2023 16:08:59 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/4063' X-Git-Tag: live~1235 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/772e4807664a0ccaaea68018dea1cb985510d9f2?hp=73e0c4ed2126ee378a912c6fab654dd8e0173c69 Merge remote-tracking branch 'upstream/pull/4063' --- diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 5a197d9b1..06f98cc57 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1253,22 +1253,6 @@ tr.turn:hover { display: none; } -/* Rules for "flash" notice boxes shown at the top of the content area */ - -.flash { - &.error { - background-color: #ff7070; - } - - &.warning { - background-color: #ffe0cc; - } - - &.notice { - background-color: #CBEEA7; - } -} - /* Rules for highlighting fields with rails validation errors */ .formError { diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index a05fe376b..5fb8aa111 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -113,7 +113,14 @@ class SiteController < ApplicationController def export; end - def offline; end + def offline + flash.now[:warning] = if Settings.status == "database_offline" + t("layouts.osm_offline") + else + t("layouts.osm_read_only") + end + render :html => nil, :layout => true + end def preview render :html => RichText.new(params[:type], params[:text]).to_html diff --git a/app/views/layouts/_flash.html.erb b/app/views/layouts/_flash.html.erb index 5dda3ad5c..eaf3078fe 100644 --- a/app/views/layouts/_flash.html.erb +++ b/app/views/layouts/_flash.html.erb @@ -1,5 +1,5 @@ <% if flash[:error] %> -
+
" type="image/svg+xml" /> @@ -11,7 +11,7 @@ <% end %> <% if flash[:warning] %> -
+
" type="image/svg+xml"> @@ -23,7 +23,7 @@ <% end %> <% if flash[:notice] %> -
+
" type="image/svg+xml"> diff --git a/app/views/site/edit.html.erb b/app/views/site/edit.html.erb index 2db9a28e3..1eb733822 100644 --- a/app/views/site/edit.html.erb +++ b/app/views/site/edit.html.erb @@ -1,8 +1,12 @@ <% content_for :content do %> <% if Settings.status == "database_offline" or Settings.status == "api_offline" %> -

<%= t "layouts.osm_offline" %>

+
+

<%= t "layouts.osm_offline" %>

+
<% elsif Settings.status == "database_readonly" or Settings.status == "api_readonly" %> -

<%= t "layouts.osm_read_only" %>

+
+

<%= t "layouts.osm_read_only" %>

+
<% elsif !current_user.data_public? %>

<%= t ".not_public" %>

<%= t ".not_public_description_html", :user_page => (link_to t(".user_page_link"), edit_account_path(:anchor => "public")) %>

diff --git a/app/views/site/offline.html.erb b/app/views/site/offline.html.erb deleted file mode 100644 index 8e7b431a8..000000000 --- a/app/views/site/offline.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -<% if Settings.status == "database_offline" %> -

<%= t "layouts.osm_offline" %> -

-<% else %> -

<%= t "layouts.osm_read_only" %> -

-<% end %> diff --git a/test/controllers/accounts_controller_test.rb b/test/controllers/accounts_controller_test.rb index 1e39a7329..7546c3797 100644 --- a/test/controllers/accounts_controller_test.rb +++ b/test/controllers/accounts_controller_test.rb @@ -60,7 +60,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest patch account_path, :params => { :user => new_attributes } assert_response :success assert_template :edit - assert_select ".notice", false + assert_select ".alert-success", false assert_select "form#accountForm > div > input.is-invalid#user_display_name" # Changing name to one that exists should fail, regardless of case @@ -68,7 +68,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest patch account_path, :params => { :user => new_attributes } assert_response :success assert_template :edit - assert_select ".notice", false + assert_select ".alert-success", false assert_select "form#accountForm > div > input.is-invalid#user_display_name" # Changing name to one that doesn't exist should work @@ -79,7 +79,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest get edit_account_path assert_response :success assert_template :edit - assert_select ".notice", /^User information updated successfully/ + assert_select ".alert-success", /^User information updated successfully/ assert_select "form#accountForm > div > input#user_display_name[value=?]", "new tester" # Record the change of name @@ -94,7 +94,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest end assert_response :success assert_template :edit - assert_select ".notice", false + assert_select ".alert-success", false assert_select "form#accountForm > div > input.is-invalid#user_new_email" # Changing email to one that exists should fail, regardless of case @@ -106,7 +106,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest end assert_response :success assert_template :edit - assert_select ".notice", false + assert_select ".alert-success", false assert_select "form#accountForm > div > input.is-invalid#user_new_email" # Changing email to one that doesn't exist should work @@ -121,7 +121,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest get edit_account_path assert_response :success assert_template :edit - assert_select ".notice", /^User information updated successfully/ + assert_select ".alert-success", /^User information updated successfully/ assert_select "form#accountForm > div > input#user_new_email[value=?]", user.new_email email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count diff --git a/test/controllers/messages_controller_test.rb b/test/controllers/messages_controller_test.rb index 1193d3b25..ca17401fd 100644 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@ -220,7 +220,7 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest :message => { :title => "Test Message", :body => "Test message body" }) assert_response :success assert_template "new" - assert_select ".error", /wait a while/ + assert_select ".alert.alert-danger", /wait a while/ end end end diff --git a/test/controllers/passwords_controller_test.rb b/test/controllers/passwords_controller_test.rb index 8a6e0b901..0a3a32c52 100644 --- a/test/controllers/passwords_controller_test.rb +++ b/test/controllers/passwords_controller_test.rb @@ -81,7 +81,7 @@ class PasswordsControllerTest < ActionDispatch::IntegrationTest end assert_response :success assert_template :lost_password - assert_select ".error", /^Could not find that email address/ + assert_select ".alert.alert-danger", /^Could not find that email address/ # Test resetting using the address as recorded for a user that has an # address which is case insensitively unique diff --git a/test/controllers/preferences_controller_test.rb b/test/controllers/preferences_controller_test.rb index 6bc609e6a..46d761ca4 100644 --- a/test/controllers/preferences_controller_test.rb +++ b/test/controllers/preferences_controller_test.rb @@ -29,8 +29,8 @@ class PreferencesControllerTest < ActionDispatch::IntegrationTest put preferences_path, :params => { :user => user.attributes } assert_response :success assert_template :edit - assert_select ".notice", false - assert_select ".error", true + assert_select ".alert-success", false + assert_select ".alert-danger", true assert_select "form > div > select#user_preferred_editor > option[selected]", false # Changing to a valid editor should work @@ -40,7 +40,7 @@ class PreferencesControllerTest < ActionDispatch::IntegrationTest assert_redirected_to preferences_path follow_redirect! assert_template :show - assert_select ".notice", /^Preferences updated/ + assert_select ".alert-success", /^Preferences updated/ assert_select "dd", "iD (in-browser editor)" # Changing to the default editor should work @@ -50,7 +50,7 @@ class PreferencesControllerTest < ActionDispatch::IntegrationTest assert_redirected_to preferences_path follow_redirect! assert_template :show - assert_select ".notice", /^Preferences updated/ + assert_select ".alert-success", /^Preferences updated/ assert_select "dd", "Default (currently iD)" end end diff --git a/test/controllers/profiles_controller_test.rb b/test/controllers/profiles_controller_test.rb index 824ecb5e3..5b11127c7 100644 --- a/test/controllers/profiles_controller_test.rb +++ b/test/controllers/profiles_controller_test.rb @@ -26,7 +26,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template :show - assert_select ".notice", /^Profile updated./ + assert_select ".alert-success", /^Profile updated./ assert_select "div", "new description" # Changing to an uploaded image should work @@ -37,7 +37,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template :show - assert_select ".notice", /^Profile updated./ + assert_select ".alert-success", /^Profile updated./ get edit_profile_path assert_select "form > fieldset > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep" @@ -48,7 +48,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template :show - assert_select ".notice", /^Profile updated./ + assert_select ".alert-success", /^Profile updated./ get edit_profile_path assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar" @@ -59,7 +59,7 @@ class ProfilesControllerTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template :show - assert_select ".notice", /^Profile updated./ + assert_select ".alert-success", /^Profile updated./ get edit_profile_path assert_select "form > fieldset > div > div.col-sm-10 > div > input[name=avatar_action][checked]", false assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked]", false diff --git a/test/controllers/site_controller_test.rb b/test/controllers/site_controller_test.rb index 75a042bfe..cc155155f 100644 --- a/test/controllers/site_controller_test.rb +++ b/test/controllers/site_controller_test.rb @@ -500,7 +500,7 @@ class SiteControllerTest < ActionDispatch::IntegrationTest def test_offline get offline_path assert_response :success - assert_template "offline" + assert_select ".alert-warning" end # Test the rich text preview diff --git a/test/integration/user_login_test.rb b/test/integration/user_login_test.rb index 5b39ea76a..5610f9b6e 100644 --- a/test/integration/user_login_test.rb +++ b/test/integration/user_login_test.rb @@ -113,7 +113,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -125,7 +125,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -137,7 +137,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -270,7 +270,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -282,7 +282,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -294,7 +294,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -409,7 +409,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -457,7 +457,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -482,7 +482,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end @@ -572,7 +572,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -621,7 +621,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -645,7 +645,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end @@ -758,7 +758,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -805,7 +805,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -829,7 +829,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end @@ -913,7 +913,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -960,7 +960,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -984,7 +984,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end @@ -1068,7 +1068,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -1115,7 +1115,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -1139,7 +1139,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end @@ -1223,7 +1223,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest assert_response :success assert_template "sessions/new" assert_select "span.username", false - assert_select "div.flash.error", /your account has been suspended/ do + assert_select "div.alert.alert-danger", /your account has been suspended/ do assert_select "a[href='mailto:openstreetmap@example.com']", "support" end end @@ -1270,7 +1270,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Connection to authentication provider failed" + assert_select "div.alert.alert-danger", "Connection to authentication provider failed" assert_select "span.username", false end @@ -1294,7 +1294,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest follow_redirect! assert_response :success assert_template "sessions/new" - assert_select "div.flash.error", "Invalid authentication credentials" + assert_select "div.alert.alert-danger", "Invalid authentication credentials" assert_select "span.username", false end