Skip to content

oloomoses/rails_admin_history_rollback

 
 

Repository files navigation

Rails Admin History Rollback

Gem Version Code Climate

RailsAdmin extension for enabling users to easily visualise and revert their history audit created by the PaperTrail gem.

Installation

To enable rails_admin_history_rollback, add the following to your Gemfile ensuring it is added after rails_admin:

gem 'rails_admin'
gem 'rails_admin_history_rollback'

It should go without saying that this plugin also requires the paper_trail gem.

E.g. gem 'paper_trail'

Configuration

Simply enable paper_trail on your model --with-changes --with-associations and set up as usual by following the paper_trail instructions.

rails generate paper_trail:install --with-changes --with-associations

In the rails_admin.rb initializer, uncomment the following lines to enable auditing:

history_index
history_show

Notes

You may also need to require "paper_trail" in application.rb

As pointed out in issue #8, paper_trail master branch and release v5.0.0 (when available) causes session issues. Login is reset by devise; paper_trail tries to access to the current_user variable before devise (airblade/paper_trail#556).

The fix is to manually add set_paper_trail_whodunnit before_action as advised here: (https://github.com/airblade/paper_trail#finding-out-who-was-responsible-for-a-change)

Paper trial changeset returns a nil value, and therefor the popup widget will be black. To fix this add

config.active_record.use_yaml_unsafe_load = true

in config/application.rb as discussed in here: (https://stackoverflow.com/questions/72970170/upgrading-to-rails-6-1-6-1-causes-psychdisallowedclass-tried-to-load-unspecif)

# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  [...]
  before_action :set_paper_trail_whodunnit
  [...]
end

Screenshots

History view

Modal view

About Jemcode

Jemcode

This repository is maintained and funded by Jemcode Limited. We are available for hire.

About

History rollback for rails_admin with paper_trail

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 45.5%
  • Ruby 31.3%
  • JavaScript 22.3%
  • CSS 0.9%