Skip to content

moneytrackio/active_admin_versioning

 
 

Repository files navigation

ActiveAdminVersioning

Good for auditing or versioning for Active Admin (using PaperTrail)

Installation

Add this line to your application's Gemfile:

gem 'active_admin_versioning'

And then execute:

$ bundle

Configuration

In some cases you may need to display some extra or formatted text in whodunnit. For example whodunit is an ID of your user. And you want to display not just a number, but his E-mail.

Create configuration 'config/initializers/active_admin_versionings.rb'

ActiveAdminVersioning.configure do |config|
  config.whodunnit_attribute_name = :display_whodunnit
  config.display_version_diff = false # default false
  config.display_version_link = true # default true
end
  • When display_version_link is true, it s activate active admin Versions pages
  • When display_version_diff is true, it s add a panel to show pages to see all version diff

In you model:

has_paper_trail class_name: 'MyPaperTrail'
class MyPaperTrail < PaperTrail::Version
  def display_whodunnit
    AdminUser.find(whodunnit).email
  end
end

This alternative "whodunnit" will only be visible in "Version" sidebar and "Version" page.

Recipe for Rails 5

  1. Add necessary gems to Gemfile and bundle:
gem 'activeadmin', github: 'activeadmin'
gem 'devise'
gem 'inherited_resources', github: 'activeadmin/inherited_resources'
gem 'paper_trail', '~> 5.2.0'
gem 'active_admin_versioning'
  1. Install Active Admin and Paper Trail:
$ bin/rails generate active_admin:install
$ bin/rails generate paper_trail:install
$ bin/rails db:create db:migrate db:seed
  1. Add module of Paper Trail to AdminUser:
class AdminUser < ApplicationRecord
  has_paper_trail
end
  1. Run server bin/rails server and open localhost:3000

Run Spec

install gem:

bundle install 

setup spec:

RAILS_ENV=test bundle exec rake setup

run spec:

bundle exec rspec

License

MIT License

About

Good for auditing or versioning for Active Admin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 96.8%
  • HTML 2.6%
  • Shell 0.6%