Sha256: 40c468328677b61c97fa6792b5a5fea6b0bb5bc7a2ee9671440e1180ce429edf

Contents?: true

Size: 733 Bytes

Versions: 133

Compression:

Stored size: 733 Bytes

Contents

module Effective
  module ImpersonationController
    module Impersonate

      def impersonate
        @user = current_user.class.find(params[:id])
        redirect_path = after_impersonate_path_for(@user)

        authorize! :impersonate, @user

        # Impersonate
        session[:impersonation_user_id] = current_user.id
        session[:impersonation_original_path] = request.referer.presence || '/admin/users'

        expire_data_after_sign_in!
        warden.session_serializer.store(@user, Devise::Mapping.find_scope!(@user))

        @user.touch

        redirect_to(redirect_path)
      end

      def after_impersonate_path_for(user)
        try(:dashboard_path) || try(:root_path) || '/'
      end

    end
  end
end

Version data entries

133 entries across 133 versions & 1 rubygems

Version Path
effective_resources-2.8.2 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.8.1 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.8.0 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.20 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.19 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.18 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.17 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.16 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.15 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.14 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.13 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.12 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.11 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.10 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.9 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.8 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.7 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.6 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.5 app/controllers/concerns/effective/impersonation_controller/impersonate.rb
effective_resources-2.7.4 app/controllers/concerns/effective/impersonation_controller/impersonate.rb