From ccb61382d05b9ea403f3a9b43da8c311a683d3a5 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 7 Nov 2025 08:18:02 -0500 Subject: [PATCH] add session key to reuse last used node instead of latest node --- .../Admin/Resources/Servers/Pages/CreateServer.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php b/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php index 2c44cef7b..1553c92a0 100644 --- a/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php +++ b/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php @@ -116,6 +116,14 @@ class CreateServer extends CreateRecord ->prefixIcon('tabler-server-2') ->selectablePlaceholder(false) ->default(function () { + $lastUsedNode = session()->get('lastUsedNode'); + + if ($lastUsedNode && user()?->accessibleNodes()->where('id', $lastUsedNode)->exists()) { + $this->node = Node::find($lastUsedNode); + + return $this->node?->id; + } + /** @var ?Node $latestNode */ $latestNode = user()?->accessibleNodes()->latest()->first(); $this->node = $latestNode; @@ -254,7 +262,7 @@ class CreateServer extends CreateRecord ->required(), ]; }) - ->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): int { + ->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): \Closure { return collect( $assignmentService->handle(Node::find($get('node_id')), $data) )->first(); @@ -829,6 +837,8 @@ class CreateServer extends CreateRecord $data['allocation_additional'] = collect($allocation_additional)->filter()->all(); } + session()->put('lastUsedNode', $data['node_id']); + try { return $this->serverCreationService->handle($data); } catch (Exception $exception) {