<?php
namespace App\Http\Middleware;
use App\Models\Menu;
use Closure;
use Route;
use App\Models\Permission;
use Entrust;
use Request;
class CheckPermission
{
public function handle($request, Closure $next)
{
$uri = Route::currentRouteName();
$permission_info = Permission::where(['uri' => $uri])->first();
if (empty($permission_info)) {
return $next($request);
}
if (!Entrust::can(Entrust::can($permission_info['name']))) {
if(Request::ajax()){
return response()->json(["error" => "no_permissions"], 422);
}
return back()->withInput()->withError('no_permissions');
}
return $next($request);
}
}