diff --git a/app/Filament/Admin/Resources/Servers/RelationManagers/AllocationsRelationManager.php b/app/Filament/Admin/Resources/Servers/RelationManagers/AllocationsRelationManager.php index ad6d21208..d143a1af4 100644 --- a/app/Filament/Admin/Resources/Servers/RelationManagers/AllocationsRelationManager.php +++ b/app/Filament/Admin/Resources/Servers/RelationManagers/AllocationsRelationManager.php @@ -11,6 +11,7 @@ use Filament\Actions\AssociateAction; use Filament\Actions\CreateAction; use Filament\Actions\DissociateAction; use Filament\Actions\DissociateBulkAction; +use Filament\Forms\Components\Hidden; use Filament\Forms\Components\Select; use Filament\Forms\Components\TagsInput; use Filament\Forms\Components\TextInput; @@ -126,6 +127,8 @@ class AllocationsRelationManager extends RelationManager ->afterStateUpdated(fn ($state, Set $set, Get $get) => $set('allocation_ports', CreateServer::retrieveValidPorts($this->getOwnerRecord()->node, $state, $get('allocation_ip')))) ->splitKeys(['Tab', ' ', ',']) ->required(), + Hidden::make('is_locked') + ->default(true), ]) ->action(fn (array $data, AssignmentService $service) => $service->handle($this->getOwnerRecord()->node, $data, $this->getOwnerRecord())), AssociateAction::make() diff --git a/app/Services/Allocations/AssignmentService.php b/app/Services/Allocations/AssignmentService.php index b3a0f2ca8..65974e5a3 100644 --- a/app/Services/Allocations/AssignmentService.php +++ b/app/Services/Allocations/AssignmentService.php @@ -85,6 +85,7 @@ class AssignmentService 'port' => (int) $unit, 'ip_alias' => array_get($data, 'allocation_alias'), 'server_id' => $server->id ?? null, + 'is_locked' => array_get($data, 'is_locked', false), ]; } } else { @@ -98,6 +99,7 @@ class AssignmentService 'port' => (int) $port, 'ip_alias' => array_get($data, 'allocation_alias'), 'server_id' => $server->id ?? null, + 'is_locked' => array_get($data, 'is_locked', false), ]; }