Sha256: 26caebc7a31c23aff04d9aab7d6f6ec937fcd80e74d139f7e9393b840cb81f43

Contents?: true

Size: 829 Bytes

Versions: 5

Compression:

Stored size: 829 Bytes

Contents

module Admin
  class UsersController < AdminController
    skip_before_action :require_admin!, only: [:stop_impersonating]
    respond_to :html, :json

    def index
      @users = User.all

      respond_with(@users)
    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 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

5 entries across 5 versions & 1 rubygems

Version Path
voyage-1.44.0.14 lib/voyage/templates/admin_users_controller.rb
voyage-1.44.0.13 lib/voyage/templates/admin_users_controller.rb
voyage-1.44.0.11 lib/voyage/templates/admin_users_controller.rb
voyage-1.44.0.12 lib/voyage/templates/admin_users_controller.rb
voyage-1.44.0.10 lib/voyage/templates/admin_users_controller.rb