app controller: move safe mode from app controller to SessionLoader.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user