]> git.openstreetmap.org Git - rails.git/commitdiff
Facelift offline.html and use Bootstrap classes for "notifications"
authorDimitar <19364673+Dimitar5555@users.noreply.github.com>
Sun, 22 Jan 2023 10:25:42 +0000 (12:25 +0200)
committerSky <19364673+Dimitar5555@users.noreply.github.com>
Sun, 26 Mar 2023 10:57:51 +0000 (13:57 +0300)
Update site_controller_test.rb

Update site_controller_test.rb

Remove whitespace

Reset Settings.status after test is done

Update test for offline page

Update site_controller.rb

Fix indentation

Update offline controller

Update offline.html.erb

Remove flash CSS classes and fix missed tests

Updated tests

Address most PR comments

Update _flash.html.erb

Update _flash.html.erb

Update edit.html.erb

Update offline.html.erb

12 files changed:
app/assets/stylesheets/common.scss
app/controllers/site_controller.rb
app/views/layouts/_flash.html.erb
app/views/site/edit.html.erb
app/views/site/offline.html.erb [deleted file]
test/controllers/accounts_controller_test.rb
test/controllers/messages_controller_test.rb
test/controllers/passwords_controller_test.rb
test/controllers/preferences_controller_test.rb
test/controllers/profiles_controller_test.rb
test/controllers/site_controller_test.rb
test/integration/user_login_test.rb

index 5a197d9b1be58f801df5d0b22518c971eff19dc6..06f98cc57b02a2f211147827174fc62c5066a107 100644 (file)
@@ -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 {
index a05fe376be5ae27a193244dade2fac409c9a169e..5fb8aa111183455586693a2f601024e40e674d55 100644 (file)
@@ -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
index 5dda3ad5c88d717aea4101a5c2a1b701d801713b..eaf3078fe6ba9bf3f4155bedb57aa215920ea03d 100644 (file)
@@ -1,5 +1,5 @@
 <% if flash[:error] %>
-  <div class="flash error row mx-0 p-3 align-items-center">
+  <div class="alert alert-danger row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
       <picture>
         <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml" />
@@ -11,7 +11,7 @@
 <% end %>
 
 <% if flash[:warning] %>
-  <div class="flash warning row mx-0 p-3 align-items-center">
+  <div class="alert alert-warning row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
       <picture>
         <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml"></source>
@@ -23,7 +23,7 @@
 <% end %>
 
 <% if flash[:notice] %>
-  <div class="flash notice row mx-0 p-3 align-items-center">
+  <div class="alert alert-success row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
       <picture>
         <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml"></source>
index 2db9a28e367944496fda0518bfac7aec9d1fad37..1eb73382279b638866d08af61e302681e5cff858 100644 (file)
@@ -1,8 +1,12 @@
 <% content_for :content do %>
   <% if Settings.status == "database_offline" or Settings.status == "api_offline" %>
-    <p><%= t "layouts.osm_offline" %></p>
+    <div class="alert alert-warning text-center">
+        <p class="my-2"><%= t "layouts.osm_offline" %></p>
+    </div>
   <% elsif Settings.status == "database_readonly" or Settings.status == "api_readonly" %>
-    <p><%= t "layouts.osm_read_only" %></p>
+    <div class="alert alert-warning text-center">
+        <p class="my-2"><%= t "layouts.osm_read_only" %></p>
+    </div>
   <% elsif !current_user.data_public? %>
     <p><%= t ".not_public" %></p>
     <p><%= t ".not_public_description_html", :user_page => (link_to t(".user_page_link"), edit_account_path(:anchor => "public")) %></p>
diff --git a/app/views/site/offline.html.erb b/app/views/site/offline.html.erb
deleted file mode 100644 (file)
index 8e7b431..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<% if Settings.status == "database_offline" %>
-<p><%= t "layouts.osm_offline" %>
-</p>
-<% else %>
-<p><%= t "layouts.osm_read_only" %>
-</p>
-<% end %>
index 1e39a7329e6c3a7b9fccac22696e223edc3effeb..7546c3797ee6f2939834dd1d9a0fc1b68587f6ba 100644 (file)
@@ -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
index 1193d3b25ec90187279e63b4ecb7a1d84dace48a..ca17401fdce4567bb008657278fd514a64750f42 100644 (file)
@@ -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
index 8a6e0b90171e121fcb80fced21128fb11861d94d..0a3a32c521cc6f5746d75ff6dcb25c97f5fd66b8 100644 (file)
@@ -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
index 6bc609e6abca77dc4cdebe680e0da53d12171df0..46d761ca49d51905312ac126c862c826e17caeb5 100644 (file)
@@ -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
index 824ecb5e33339e2bbd4d3a7c53c2e6069dfd3a7d..5b11127c7bb97ed35cc13ca90412ea485d549362 100644 (file)
@@ -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
index 8a38da5c000ee99a7227b1caf8326979f93f34a1..73e1b4729430930c3a50fc9e78a1ceba98caf170 100644 (file)
@@ -495,7 +495,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
index 5b39ea76a44be70480178b2011a466f57369092a..5610f9b6ee460669c2ae06d29eb70f1459058e07 100644 (file)
@@ -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