Fix #4077: Migrate CurrentUser and safe_mode to use RequestStore.
This commit is contained in:
@@ -42,28 +42,28 @@ class CurrentUser
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.user=(user)
|
|
||||||
Thread.current[:current_user] = user
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.ip_addr=(ip_addr)
|
|
||||||
Thread.current[:current_ip_addr] = ip_addr
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.user
|
def self.user
|
||||||
Thread.current[:current_user]
|
RequestStore[:current_user]
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.user=(user)
|
||||||
|
RequestStore[:current_user] = user
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.ip_addr
|
def self.ip_addr
|
||||||
Thread.current[:current_ip_addr]
|
RequestStore[:current_ip_addr]
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.ip_addr=(ip_addr)
|
||||||
|
RequestStore[:current_ip_addr] = ip_addr
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.root_url
|
def self.root_url
|
||||||
Thread.current[:current_root_url] || "https://#{Danbooru.config.hostname}"
|
RequestStore[:current_root_url] || "https://#{Danbooru.config.hostname}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.root_url=(root_url)
|
def self.root_url=(root_url)
|
||||||
Thread.current[:current_root_url] = root_url
|
RequestStore[:current_root_url] = root_url
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.id
|
def self.id
|
||||||
@@ -83,17 +83,17 @@ class CurrentUser
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.admin_mode?
|
def self.admin_mode?
|
||||||
Thread.current[:admin_mode]
|
RequestStore[:admin_mode]
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.without_safe_mode
|
def self.without_safe_mode
|
||||||
prev = RequestStore[:safe_mode]
|
prev = RequestStore[:safe_mode]
|
||||||
RequestStore[:safe_mode] = false
|
RequestStore[:safe_mode] = false
|
||||||
Thread.current[:admin_mode] = true
|
RequestStore[:admin_mode] = true
|
||||||
yield
|
yield
|
||||||
ensure
|
ensure
|
||||||
RequestStore[:safe_mode] = prev
|
RequestStore[:safe_mode] = prev
|
||||||
Thread.current[:admin_mode] = false
|
RequestStore[:admin_mode] = false
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.set_safe_mode(req)
|
def self.set_safe_mode(req)
|
||||||
|
|||||||
Reference in New Issue
Block a user