Class: RailsBase::SwitchUserController

Inherits:
SwitchUserController
  • Object
show all
Defined in:
app/controllers/rails_base/switch_user_controller.rb

Instance Method Summary collapse

Instance Method Details

#admin_set_impersonation_session!Object



10
11
12
13
# File 'app/controllers/rails_base/switch_user_controller.rb', line 10

def admin_set_impersonation_session!
  admin_set_token_on_session(admin_user: admin_user, other_user: provider.current_user)
  session[RailsBase::Authentication::Constants::ADMIN_REMEMBER_USERID_KEY] = admin_user.id
end

#admin_userObject



22
23
24
25
26
27
28
# File 'app/controllers/rails_base/switch_user_controller.rb', line 22

def admin_user
  if session[RailsBase::Authentication::Constants::ADMIN_REMEMBER_USERID_KEY]
    User.find session[RailsBase::Authentication::Constants::ADMIN_REMEMBER_USERID_KEY]
  else
    current_user
  end
end

#can_impersonate?Boolean

Returns:

  • (Boolean)


15
16
17
18
19
20
# File 'app/controllers/rails_base/switch_user_controller.rb', line 15

def can_impersonate?
  return if RailsBase.config.admin.impersonate_tile_users.call(admin_user)

  flash[:alert] = "You do not have correct permissions to impersonate users"
  redirect_to RailsBase.url_routes.admin_base
end