This package will allow you to add a full report system into your Laravel application.
First, pull in the package through Composer.
composer require ghanem/reportableAnd then include the service provider within app/config/app.php.
'providers' => [
Ghanem\Reportable\ReportableServiceProvider::class
];At last you need to publish and run the migration.
php artisan vendor:publish --provider="Ghanem\Reportable\ReportableServiceProvider"and
php artisan migrate<?php
namespace App;
use Ghanem\Reportable\Contracts\Reportable;
use Ghanem\Reportable\Traits\Reportable as ReportableTrait;
use Illuminate\Database\Eloquent\Model;
class Post extends Model implements Reportable
{
use ReportableTrait;
}<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Post;
use Auth;
class PostController extends Controller
{
public function makeReport()
{
$post = Post::find(1);
$user = Auth::user();
$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->judgeReport::allJudges();This package began life in 2015 as an MIT-licensed package by DraperStudio, originally authored by Dzung Nguyen. The upstream repository is no longer published. It has been maintained by GAIT ever since. The original copyright notice is retained in LICENSE.
MIT. See LICENSE.