Skip to content
No description or website provided.
PHP
Branch: master
Clone or download
3 authors Configure Renovate (#33)
* Add renovate.json

* Update renovate.json


Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Brian Faust <faustbrian@users.noreply.github.com>
Latest commit a3fe452 Oct 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
database/migrations transfer ownership to artisanry Jun 4, 2019
src User auth config providers user model (#31) Oct 1, 2019
tests transfer ownership to artisanry Jun 4, 2019
.editorconfig editorconfig Aug 3, 2017
.gitattributes gitattributes Aug 3, 2017
.gitignore first Nov 4, 2016
.travis.yml update deps Jan 29, 2018
LICENSE MPL 2.0 Jun 9, 2019
README.md Readme for #31 (#32) Oct 1, 2019
composer.json Laravel 6 Aug 28, 2019
phpunit.xml.dist first Nov 4, 2016
renovate.json Configure Renovate (#33) Oct 6, 2019

README.md

Laravel Reportable

Build Status PHP from Packagist Latest Version License

Installation

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

Usage

Setup a Model

<?php

namespace App;

use Artisanry\Reportable\HasReports;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use HasReports;
}

Examples

The User Model reports the Post Model

$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);

Get the conclusion for the Report Model

$report->conclusion;

Get the judge for the Report Model (only available if there is a conclusion)

$report->judge(); // Just a shortcut for $report->conclusion->judge

Get an array with all Judges that have ever "judged" something

Report::allJudges();

Get unjudged reports (those without conclusions)

Report::unjudged(); // returns query builder.

Changing the user reporter model

Set your user model in the config('auth.providers.users.model');

Testing

$ phpunit

Security

If you discover a security vulnerability within this package, please send an e-mail to hello@basecode.sh. All security vulnerabilities will be promptly addressed.

Credits

This project exists thanks to all the people who contribute.

License

Mozilla Public License Version 2.0 (MPL-2.0).

You can’t perform that action at this time.