mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
PERF: Avoid additional database query when viewing own user. (#14239)
This commit is contained in:
parent
b09688a153
commit
1937474e84
@ -534,11 +534,16 @@ class ApplicationController < ActionController::Base
|
|||||||
opts ||= {}
|
opts ||= {}
|
||||||
user = if params[:username]
|
user = if params[:username]
|
||||||
username_lower = params[:username].downcase.chomp('.json')
|
username_lower = params[:username].downcase.chomp('.json')
|
||||||
|
|
||||||
|
if current_user && current_user.username_lower == username_lower
|
||||||
|
current_user
|
||||||
|
else
|
||||||
find_opts = { username_lower: username_lower }
|
find_opts = { username_lower: username_lower }
|
||||||
find_opts[:active] = true unless opts[:include_inactive] || current_user.try(:staff?)
|
find_opts[:active] = true unless opts[:include_inactive] || current_user.try(:staff?)
|
||||||
result = User
|
result = User
|
||||||
(result = result.includes(*eager_load)) if !eager_load.empty?
|
(result = result.includes(*eager_load)) if !eager_load.empty?
|
||||||
result.find_by(find_opts)
|
result.find_by(find_opts)
|
||||||
|
end
|
||||||
elsif params[:external_id]
|
elsif params[:external_id]
|
||||||
external_id = params[:external_id].chomp('.json')
|
external_id = params[:external_id].chomp('.json')
|
||||||
if provider_name = params[:external_provider]
|
if provider_name = params[:external_provider]
|
||||||
|
Loading…
Reference in New Issue
Block a user