yeswedev / laravel-modo
YWD Laravel Nova Field Moderation
Requires
- php: >=7.1.0
README
A simple Moderation.
This package allows you to approve or reject resources for each fields you configure

Installation
Install this package in your Laravel app via composer:
composer require yeswedev/laravel-modo
You need to add this to your config/app.php providers array
'providers' => [
    ...
    YesWeDev\LaravelModo\LaravelModoServiceProvider::class,
];
Publish the config file
php artisan vendor:publish --tag=laravel-modo
And finaly migrate the moderations table into your database
php artisan migrate
or
php artisan migrate --path=vendor/yeswedev/laravel-modo/database/migrations
Preparation
First you need to prepare your model with the Moderate trait
use YesWeDev\LaravelModo\Traits\Moderate;
class YourModel extends Model
{
    use Moderate;
    ...
}
You need to add the second trait HasRoleModerated to your User model
use YesWeDev\LaravelModo\Traits\HasRoleModerated;
class User extends Model
{
    use HasRoleModerated;
    ...
}
Now you are ready to use it !
Usage
In your model add two array $rolesModeration and $fieldsModeration
The $rolesModeration array must contain your desired user role which can be moderated by your admin
The $fieldsModeration contains the fields which can be moderated by your admin
use YesWeDev\LaravelModo\Traits\Moderate;
class YourModel extends Model
{
    use Moderate;
    
    protected $rolesModeration = [
        'moderator'
    ];
    protected $fieldsModeration = [
        'title' => 'title',
        'description' => 'description',
    ];
}
You can set your user role which can moderate in config/laravel-modo, default is admin
/*
|--------------------------------------------------------------------------
| Moderator Role
|--------------------------------------------------------------------------
|
| Define the role which can moderate.
|
*/
'moderation_role' => 'admin',
...
License
The BSD 2 Clause License (BSD 2).