/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (!$this->auth->user()->is_admin) { // All activities that belongs to the centres that the authenticated user is in charge of $activitiesInCentres = collect(Activity::ofCentreForStaff($this->auth->user())->get()->lists('activity_id')); // Redirect user if activity accessed is not in list if (!$activitiesInCentres->contains($request->route()->parameter('activities'))) { return redirect('/activities'); } } return $next($request); }