Sha256: 1095dd59e0109af666c1699018e58b3cff99b9574ea1b31faf16ff374b090350
Contents?: true
Size: 963 Bytes
Versions: 3
Compression:
Stored size: 963 Bytes
Contents
module Admin class UsersController < ApplicationController before_action :require_admin!, except: [:stop_impersonating] skip_authorization_check def index @users = User.all end def impersonate user = User.find(params[:id]) track_impersonation(user, 'Start') impersonate_user(user) redirect_to root_path end def stop_impersonating track_impersonation(current_user, 'Stop') stop_impersonating_user redirect_to admin_users_path end private def require_admin! txt = 'You must be an admin to perform that action' redirect_to root_path, notice: txt unless current_user.admin? end def track_impersonation(user, status) analytics_track( true_user, "Impersonation #{status}", impersonated_user_id: user.id, impersonated_user_email: user.email, impersonated_by_email: true_user.email, ) end end end
Version data entries
3 entries across 3 versions & 1 rubygems