Download the PHP package victorlap/laravel-approvable without Composer
On this page you can find all versions of the php package victorlap/laravel-approvable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download victorlap/laravel-approvable
More information about victorlap/laravel-approvable
Files in victorlap/laravel-approvable
Package laravel-approvable
Short Description Easily add an approval process to any laravel model
License MIT
Homepage https://github.com/victorlap/laravel-approvable
Informations about the package laravel-approvable
Laravel Approvable
Easily add an approval process to any laravel model.
Description
Laravel Approvable is a package which helps when you have certain models in your application that should be editable by users, but the fields that they edit need to be approved first.
Installation
Via Composer
You can publish the migration with:
Setup
Assume you have a Post
model. Each visitor on your site can edit any post, but before you want to publish the change to your website, you want to approve it first. By adding the \Victorlap\Approvable\Approvable
trait to your Post
model, when a visitor makes a change, a change request gets stored in the database. These changes can then later be applied, or denied by administrators. The currentUserCanApprove
method can be used to determine who is authorized to make a change.
Usage
Making a change to a model by a user who can approve does not change.
Making a change by an unauthorized user works the same.
You can retrieve a list of attributes that have pending changes by using
Or check if a certain attribute has pending changes
Scopes have been defined to quickly see approvals in different states. For example if you wnat to show administrators a list with changes that can be accepted you can use the open
scope. Other scopes are accepted
, rejected
and ofClass
.
You can combine the scopes of course, or use them in combination with regular query builder methods
Accepting and rejecting of approvals can be done using the accept
and reject
methods on the Approval.
If you dont want a model to pass approval, you can use the withoutApproval()
method.
To re-enable the approval for this model instance, you can use the withApproval()
method.
Limitations
Currently Approvable does not handle creation of models, PR's are welcome for this.
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
Contributing
Please see CONDUCT for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Victor Lap
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-approvable with dependencies
illuminate/database Version ^5.8|^6.0
illuminate/support Version ^5.8|^6.0