Merge remote-tracking branch 'upstream/pull/5403'

This commit is contained in:
Tom Hughes 2025-02-10 18:54:14 +00:00
commit 2cfc030bba
7 changed files with 51 additions and 27 deletions

View file

@ -259,12 +259,7 @@ class ApplicationController < ActionController::Base
request.content_security_policy = policy
case Settings.status
when "database_offline", "api_offline"
flash.now[:warning] = t("layouts.osm_offline")
when "database_readonly", "api_readonly"
flash.now[:warning] = t("layouts.osm_read_only")
end
flash.now[:warning] = { :partial => "layouts/offline_flash" } unless api_status == "online"
request.xhr? ? "xhr" : "map"
end

View file

@ -107,6 +107,14 @@ class SiteController < ApplicationController
rescue ActiveRecord::RecordNotFound
# don't try and derive a location from a missing/deleted object
end
if api_status != "online"
flash.now[:warning] = { :partial => "layouts/offline_flash" }
elsif current_user && !current_user.data_public?
flash.now[:warning] = { :partial => "not_public_flash" }
else
@enable_editor = true
end
end
def copyright
@ -129,11 +137,7 @@ class SiteController < ApplicationController
def export; end
def offline
flash.now[:warning] = if Settings.status == "database_offline"
t("layouts.osm_offline")
else
t("layouts.osm_read_only")
end
flash.now[:warning] = { :partial => "layouts/offline_flash" }
render :html => nil, :layout => true
end

View file

@ -0,0 +1,26 @@
<div class="d-flex flex-column gap-2">
<% if %w[database_offline api_offline].include? Settings.status %>
<p class="mb-0">
<%= t(".osm_offline") %>
</p>
<% elsif %w[database_readonly api_readonly].include? Settings.status %>
<p class="mb-0">
<%= t(".osm_read_only") %>
</p>
<% end %>
<% if Settings.status_expected_restore_date %>
<% expected_restore_time = Time.parse(Settings.status_expected_restore_date).utc %>
<% if expected_restore_time > Time.now.utc %>
<p class="mb-0">
<%= t ".expected_restore_html", :time => friendly_date(expected_restore_time) %>
</p>
<% end %>
<% end %>
<% if Settings.status_announcement_url %>
<p class="mb-0">
<%= link_to t(".announcement"), Settings.status_announcement_url %>
</p>
<% end %>
</div>

View file

@ -0,0 +1,3 @@
<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>
<p><%= t ".anon_edits_html", :link => link_to(t(".anon_edits_link_text"), t(".anon_edits_link")) %></p>

View file

@ -1,17 +1,5 @@
<% content_for :content do %>
<% if Settings.status == "database_offline" or Settings.status == "api_offline" %>
<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" %>
<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>
<p><%= t ".anon_edits_html", :link => link_to(t(".anon_edits_link_text"), t(".anon_edits_link")) %></p>
<% else %>
<% if @enable_editor %>
<%= render :partial => preferred_editor %>
<% end %>
<% end %>