Require this package, with Composer, in the root directory of your project.
$ composer require artisanry/reportable
To get started, you'll need to publish the vendor assets and migrate:
php artisan vendor:publish --provider="Artisanry\Reportable\ReportableServiceProvider" && php artisan migrate
<?php
namespace App;
use Artisanry\Reportable\HasReports;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasReports;
}
$post->report([
'reason' => \Str::random(10),
'meta' => ['some more optional data, can be notes or something'],
], $user);
Create a conclusion for a Report and add the User Model as "judge" (useful to later see who or what came to this conclusion)
$report->conclude([
'conclusion' => 'Your report was valid. Thanks! We\'ve taken action and removed the entry.',
'action_taken' => 'Record has been deleted.', // This is optional but can be useful to see what happend to the record
'meta' => ['some more optional data, can be notes or something'],
], $user);
$report->conclusion;
$report->judge(); // Just a shortcut for $report->conclusion->judge
Report::allJudges();
Report::unjudged(); // returns query builder.
Set your user model in the config('auth.providers.users.model');
$ phpunit
If you discover a security vulnerability within this package, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
This project exists thanks to all the people who contribute.
Mozilla Public License Version 2.0 (MPL-2.0).