X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/47a8907e2a622804ac400be8f4e7ec611f006c87..29d322c364dcbe5b1adf386d51132296b5809604:/app/controllers/application_controller.rb?ds=inline diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 40f02300a..25de71f20 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -39,7 +39,7 @@ class ApplicationController < ActionController::Base private - def authorize_web + def authorize_web(skip_terms: false) if session[:user] self.current_user = User.find_by(:id => session[:user], :status => %w[active confirmed suspended]) @@ -55,7 +55,7 @@ class ApplicationController < ActionController::Base # don't allow access to any auth-requiring part of the site unless # the new CTs have been seen (and accept/decline chosen). - elsif !current_user.terms_seen && flash[:skip_terms].nil? + elsif !current_user.terms_seen && !skip_terms flash[:notice] = t "accounts.terms.show.you need to accept or decline" if params[:referer] redirect_to account_terms_path(:referer => params[:referer]) @@ -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 @@ -304,10 +299,7 @@ class ApplicationController < ActionController::Base 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" }