app controller: move safe mode from app controller to SessionLoader.

This commit is contained in:
evazion
2019-08-24 22:55:36 -05:00
parent f151285038
commit 1a964f7a10
7 changed files with 55 additions and 48 deletions

View File

@@ -7,7 +7,6 @@ class ApplicationController < ActionController::Base
before_action :normalize_search
before_action :set_started_at_session
before_action :api_check
before_action :set_safe_mode
before_action :set_variant
before_action :track_only_param
layout "default"
@@ -168,6 +167,7 @@ class ApplicationController < ActionController::Base
def reset_current_user
CurrentUser.user = nil
CurrentUser.ip_addr = nil
CurrentUser.safe_mode = false
CurrentUser.root_url = root_url.chomp("/")
end
@@ -211,8 +211,4 @@ class ApplicationController < ActionController::Base
def search_params
params.fetch(:search, {}).permit!
end
def set_safe_mode
CurrentUser.set_safe_mode(request)
end
end

View File

@@ -96,8 +96,8 @@ class CurrentUser
RequestStore[:admin_mode] = false
end
def self.set_safe_mode(req)
RequestStore[:safe_mode] = Danbooru.config.enable_safe_mode?(req, CurrentUser.user)
def self.safe_mode=(safe_mode)
RequestStore[:safe_mode] = safe_mode
end
def self.method_missing(method, *params, &block)

View File

@@ -21,7 +21,7 @@ class DanbooruLogger
end
def self.initialize(request, session, user)
add_attributes("request.params", request.params)
add_attributes("request.params", request.parameters)
add_attributes("session.params", session.to_h)
add_attributes("user", { id: user.id, name: user.name, level: user.level_string, ip: request.remote_ip })
end

View File

@@ -26,6 +26,7 @@ class SessionLoader
update_last_logged_in_at
update_last_ip_addr
set_time_zone
set_safe_mode
CurrentUser.user.unban! if CurrentUser.user.ban_expired?
DanbooruLogger.initialize(request, session, CurrentUser.user)
end
@@ -104,5 +105,9 @@ private
def set_time_zone
Time.zone = CurrentUser.user.time_zone
end
end
def set_safe_mode
safe_mode = request.host.match?(/safebooru/i) || params[:safe_mode].to_s.truthy? || CurrentUser.user.enable_safe_mode?
CurrentUser.safe_mode = safe_mode
end
end