diff --git a/app/Filament/Admin/Resources/UserResource/RelationManagers/ServersRelationManager.php b/app/Filament/Admin/Resources/UserResource/RelationManagers/ServersRelationManager.php index 52cba9618..83c8bf7af 100644 --- a/app/Filament/Admin/Resources/UserResource/RelationManagers/ServersRelationManager.php +++ b/app/Filament/Admin/Resources/UserResource/RelationManagers/ServersRelationManager.php @@ -34,18 +34,16 @@ class ServersRelationManager extends RelationManager ->label('Suspend All Servers') ->color('warning') ->action(function (SuspensionService $suspensionService) use ($user) { - foreach ($user->servers()->whereNot('status', ServerState::Suspended)->get() as $server) { - $suspensionService->handle($server, SuspendAction::Suspend); - } + collect($user->servers()->get())->filter(fn ($server) => !$server->isSuspended()) + ->each(fn ($server) => $suspensionService->handle($server, SuspendAction::Suspend)); }), Actions\Action::make('toggleUnsuspend') ->hidden(fn () => $user->servers()->where('status', ServerState::Suspended)->count() === 0) ->label('Unsuspend All Servers') ->color('primary') ->action(function (SuspensionService $suspensionService) use ($user) { - foreach ($user->servers()->where('status', ServerState::Suspended)->get() as $server) { - $suspensionService->handle($server, SuspendAction::Unsuspend); - } + collect($user->servers()->get())->filter(fn ($server) => $server->isSuspended()) + ->each(fn ($server) => $suspensionService->handle($server, SuspendAction::Unsuspend)); }), ]) ->columns([ diff --git a/app/Models/Server.php b/app/Models/Server.php index b9a5d409d..109eaaf77 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -487,7 +487,7 @@ class Server extends Model public function condition(): Attribute { return Attribute::make( - get: fn () => $this->isSuspended() ? 'Suspended' : $this->status?->value ?? $this->retrieveStatus(), + get: fn () => $this->isSuspended() ? ServerState::Suspended : $this->status?->value ?? $this->retrieveStatus(), ); }