Skip to content

sthouse/rails_admin_impersonate

 
 

Repository files navigation

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

About

Impersonate as a Devise user for rails_admin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%