Initial commit
This commit is contained in:
33
app/controllers/admin/masquerades_controller.rb
Normal file
33
app/controllers/admin/masquerades_controller.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
class Admin::MasqueradesController < Admin::ApplicationController
|
||||
before_action :set_user, only: [:create]
|
||||
skip_before_action :require_admin_login, only: [:destroy]
|
||||
|
||||
def create
|
||||
authorize :masquerade, :create?
|
||||
session[:admin_id] = current_user.id
|
||||
sign_in @user
|
||||
redirect_to signed_in_root_path
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize :masquerade, :destroy?
|
||||
sign_in User.find session[:admin_id]
|
||||
session.delete(:admin_id)
|
||||
session.delete(:active_account)
|
||||
redirect_to admin_users_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_user
|
||||
@user = find_user
|
||||
end
|
||||
|
||||
def users
|
||||
policy_scope User
|
||||
end
|
||||
|
||||
def find_user
|
||||
authorize users.find(params[:user_id])
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user