Impersonate as a Devise user for rails_admin
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config/locales
lib
.gitignore
Changelog
Gemfile
LICENSE.txt
README.md
Rakefile
rails_admin_impersonate.gemspec

README.md

RailsAdminImpersonate

Add an ability to rails_admin to impersonate as any user or actually any member that is devise authenticatable.

Installation

Add this line to your application's Gemfile:

gem 'rails_admin_impersonate'

And then execute:

$ bundle

Usage

Add to your config/initializers/rails_admin.rb an action impersonate to actions:

config.actions do
  # root actions
  dashboard                     # mandatory
  # collection actions
  index                         # mandatory
  new
  export
  history_index
  bulk_delete
  # member actions
  show
  edit
  delete
  history_show
  show_in_app
  impersonate
end

Now restart the application and visit User table in the admin.

You should see home icon and Impersonate link for every model that uses Devise.

Note: by default impersonation is disabled for model Admin. If you want to disable it for some other model you can modify the above code like this:

config.actions do
  ...
  impersonate do
    authorized do
      'ModelName' != bindings[:abstract_model].model_name
    end
  end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

© 2013 Boris Nadion