Revise allows your admins to store, see and undo changes to entries on an Eloquent model.
The operation provides you with a simple interface to work with venturecraft/revisionable, which is a great package that stores all changes in a separate table. It can work as an audit trail, a backup system and an accountability system for the admins.
When enabled, Revise
will show another button in the table view, between Edit and Delete. On click, that button opens another page which will allow an admin to see all changes and who made them:
In order to enable this operation for a CrudController, you need to:
Step 1. Install the package that provides this operation. This will also install venturecraft/revisionable if it's not already installed in your project.
composer require backpack/revise-operation
Step 2. Create the revisions table:
cp vendor/venturecraft/revisionable/src/migrations/2013_04_09_062329_create_revisions_table.php database/migrations/ && php artisan migrate
Step 3. Use venturecraft/revisionable's trait on your model, and an identifiableName()
method that returns an attribute on the model that the admin can use to distinguish between entries (ex: name, title, etc). If you are using another bootable trait be sure to override the boot method in your model.
namespace App\Models;
class Article extends Eloquent {
use \Backpack\CRUD\app\Models\Traits\CrudTrait, \Venturecraft\Revisionable\RevisionableTrait;
public function identifiableName()
{
return $this->name;
}
// If you are using another bootable trait
// be sure to override the boot method in your model
public static function boot()
{
parent::boot();
}
}
Step 4. In your CrudController, use the operation trait:
<?php
namespace App\Http\Controllers\Admin;
use Backpack\CRUD\app\Http\Controllers\CrudController;
class ArticleCrudController extends CrudController
{
use \Backpack\ReviseOperation\ReviseOperation;
For complex usage, head over to VentureCraft/revisionable to see the full documentation and configuration options.
Then you'll love our premium add-ons - productivity tools and tons of new features.