X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/473aff084dca414d920cbd10e6615a358e93b0bb..90e787eed845a850eab63a22831c9cfa47f4dd3d:/app/controllers/application_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f6006fe5e..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" } @@ -354,10 +346,4 @@ class ApplicationController < ActionController::Base referer&.to_s end - - def scope_enabled?(scope) - doorkeeper_token&.includes_scope?(scope) - end - - helper_method :scope_enabled? end