def check_database_writable(need_api: false)
if Settings.status == "database_offline" || Settings.status == "database_readonly" ||
- (need_api && (Settings.status == "api_offline" || Settings.status == "api_readonly"))
+ (need_api && %w[api_offline api_readonly].include?(Settings.status))
if request.xhr?
report_error "Database offline for maintenance", :service_unavailable
else
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
end
def deny_access(_exception)
- if doorkeeper_token
- set_locale
- report_error t("oauth.permissions.missing"), :forbidden
- elsif current_user
+ if current_user
set_locale
respond_to do |format|
format.html { redirect_to :controller => "/errors", :action => "forbidden" }
begin
referer = URI.parse(referer)
- if referer.scheme == "http" || referer.scheme == "https"
+ if %w[http https].include?(referer.scheme)
referer.scheme = nil
referer.host = nil
referer.port = nil
referer&.to_s
end
-
- def scope_enabled?(scope)
- doorkeeper_token&.includes_scope?(scope)
- end
-
- helper_method :scope_enabled?
end