Keep users up to date with your terms and conditions changes. This package provides middleware to intercept requests and redirect to the latest terms.
You can install the package via composer:
composer require nowendwell/laravel-terms
php artisan vendor:publish --provider="Nowendwell\LaravelTerms\LaravelTermsServiceProvider"
php artisan migrate
Add the AcceptsTerms trait to your user model and you're good to go!
<?php
use Nowendwell\LaravelTerms\Traits\AcceptsTerms;
class User
{
use AcceptsTerms;
}
This package comes with middleware pre-configured for the happy path. It is up to you how your app should determine who needs to go through the middleware check. Below is an example of a User who requires Terms.
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class AcceptedTerms
{
public function handle(Request $request, Closure $next)
{
if (
auth()->check() &&
! auth()->user()->hasAcceptedTerms() &&
! in_array($request->path(), config('terms.excluded_paths'))
) {
session(['url.intended' => $request->url()]);
return redirect()->route('terms.show');
}
return $next($request);
}
}
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email nowendwell@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.
This package was generated using the Laravel Package Boilerplate.