Class: Admin::ImpersonateController

Inherits:
AdminController
  • Object
show all
Defined in:
app/controllers/admin/impersonate_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/admin/impersonate_controller.rb', line 4

def create
  params.require(:username_or_email)

  user = User.find_by_username_or_email(params[:username_or_email])
  raise Discourse::NotFound if user.blank?

  guardian.ensure_can_impersonate!(user)

  # log impersonate
  StaffActionLogger.new(current_user).log_impersonate(user)

  # Log on as the user
  log_on_user(user, impersonate: true)

  render body: nil
end