user(); if (! $user instanceof User) { abort(403); } $validated = $request->validate([ 'workspace_id' => ['required', 'integer'], ]); $workspace = Workspace::query()->whereKey($validated['workspace_id'])->first(); if (! $workspace instanceof Workspace) { abort(404); } if (! empty($workspace->archived_at)) { abort(404); } $context = app(WorkspaceContext::class); if (! $context->isMember($user, $workspace)) { abort(404); } $context->setCurrentWorkspace($workspace, $user, $request); $tenants = $user->getTenants(Filament::getCurrentOrDefaultPanel()); $tenants = $tenants instanceof \Illuminate\Database\Eloquent\Collection ? $tenants : collect($tenants); if ($tenants->isEmpty()) { if (RegisterTenantPage::canView()) { return redirect()->route('filament.admin.tenant.registration'); } return redirect()->to(ChooseTenant::getUrl()); } return redirect()->to(ChooseTenant::getUrl()); } }