user(); if ($user) { if ( !$request->routeIs('bo.dashboard') && !$request->routeIs('bo.users.*') && !$request->routeIs('bo.tenants.*') && $request->tenant && !\in_array($request->tenant, Tenant::get()->pluck('id')->toArray()) ) { // @phpstan-ignore argument.type abort('404'); } $tenantKey = Tenant::query()->value((new Tenant())->getKeyName()); if ( (Tenant::count() && $request->routeIs('bo.tenants.*') && $user->role->equals(RoleEnum::conceptor)) || (Tenant::count() && $request->routeIs('bo.users.*') && $user->role->equals(RoleEnum::conceptor)) ) { tenancy()->initialize($tenantKey); return $next($request); } if ( Tenant::count() && ($request->routeIs('bo.dashboard') || $request->routeIs('bo.users.edit', $user->getKey())) ) { tenancy()->initialize(($user->tenants->count()) ? $user->tenants->first() : $tenantKey); return $next($request); } } //end if return $next($request); } }