Fix Suspendall & Server Condition (#913)

This commit is contained in:
MartinOscar 2025-01-15 17:46:27 +01:00 committed by GitHub
parent fe43539ea7
commit 7c6b3a03db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 7 deletions

View File

@ -34,18 +34,16 @@ class ServersRelationManager extends RelationManager
->label('Suspend All Servers') ->label('Suspend All Servers')
->color('warning') ->color('warning')
->action(function (SuspensionService $suspensionService) use ($user) { ->action(function (SuspensionService $suspensionService) use ($user) {
foreach ($user->servers()->whereNot('status', ServerState::Suspended)->get() as $server) { collect($user->servers()->get())->filter(fn ($server) => !$server->isSuspended())
$suspensionService->handle($server, SuspendAction::Suspend); ->each(fn ($server) => $suspensionService->handle($server, SuspendAction::Suspend));
}
}), }),
Actions\Action::make('toggleUnsuspend') Actions\Action::make('toggleUnsuspend')
->hidden(fn () => $user->servers()->where('status', ServerState::Suspended)->count() === 0) ->hidden(fn () => $user->servers()->where('status', ServerState::Suspended)->count() === 0)
->label('Unsuspend All Servers') ->label('Unsuspend All Servers')
->color('primary') ->color('primary')
->action(function (SuspensionService $suspensionService) use ($user) { ->action(function (SuspensionService $suspensionService) use ($user) {
foreach ($user->servers()->where('status', ServerState::Suspended)->get() as $server) { collect($user->servers()->get())->filter(fn ($server) => $server->isSuspended())
$suspensionService->handle($server, SuspendAction::Unsuspend); ->each(fn ($server) => $suspensionService->handle($server, SuspendAction::Unsuspend));
}
}), }),
]) ])
->columns([ ->columns([

View File

@ -487,7 +487,7 @@ class Server extends Model
public function condition(): Attribute public function condition(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: fn () => $this->isSuspended() ? 'Suspended' : $this->status?->value ?? $this->retrieveStatus(), get: fn () => $this->isSuspended() ? ServerState::Suspended : $this->status?->value ?? $this->retrieveStatus(),
); );
} }