3 namespace BookStack\Http\Middleware;
6 use Illuminate\Http\Request;
8 class CheckUserHasPermission
11 * Handle an incoming request.
13 * @param \Illuminate\Http\Request $request
14 * @param \Closure $next
15 * @param string $permission
19 public function handle($request, Closure $next, $permission)
21 if (!user()->can($permission)) {
22 return $this->errorResponse($request);
25 return $next($request);
28 protected function errorResponse(Request $request)
30 if ($request->wantsJson()) {
31 return response()->json(['error' => trans('errors.permissionJson')], 403);
34 session()->flash('error', trans('errors.permission'));