user(); if ($user) { if ( !$request->routeIs(['bo.dashboard', 'bo.users.*', 'bo.tenants.*']) && $request->tenant && !\in_array($request->tenant, Tenant::get()->pluck('id')->toArray()) ) { // @phpstan-ignore argument.type abort('404'); } if (Tenant::count() && $request->routeIs(['bo.tenants.*', 'bo.users.*']) && $user->can('isAdmin')) { $tenant = Tenant::first()->getKey(); tenancy()->initialize($tenant); return $next($request); } if ( Tenant::count() && ($request->routeIs('bo.dashboard') || $request->routeIs('bo.users.edit', $user->getKey())) ) { $tenant = ($user->tenants->count()) ? $user->tenants->first() : Tenant::first()->getKey(); tenancy()->initialize($tenant); return $next($request); } } //end if return $next($request); } }