From 7c6b3a03db5e29ba7f89c580ecef8196f44e8037 Mon Sep 17 00:00:00 2001 From: MartinOscar <40749467+RMartinOscar@users.noreply.github.com> Date: Wed, 15 Jan 2025 17:46:27 +0100 Subject: [PATCH] Fix Suspendall & Server Condition (#913) --- .../RelationManagers/ServersRelationManager.php | 10 ++++------ app/Models/Server.php | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) 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(), ); }