add session key to reuse last used node instead of latest node

This commit is contained in:
Charles 2025-11-07 08:18:02 -05:00
parent 49f24e37b6
commit ccb61382d0

View File

@ -116,6 +116,14 @@ class CreateServer extends CreateRecord
->prefixIcon('tabler-server-2') ->prefixIcon('tabler-server-2')
->selectablePlaceholder(false) ->selectablePlaceholder(false)
->default(function () { ->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 */ /** @var ?Node $latestNode */
$latestNode = user()?->accessibleNodes()->latest()->first(); $latestNode = user()?->accessibleNodes()->latest()->first();
$this->node = $latestNode; $this->node = $latestNode;
@ -254,7 +262,7 @@ class CreateServer extends CreateRecord
->required(), ->required(),
]; ];
}) })
->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): int { ->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): \Closure {
return collect( return collect(
$assignmentService->handle(Node::find($get('node_id')), $data) $assignmentService->handle(Node::find($get('node_id')), $data)
)->first(); )->first();
@ -829,6 +837,8 @@ class CreateServer extends CreateRecord
$data['allocation_additional'] = collect($allocation_additional)->filter()->all(); $data['allocation_additional'] = collect($allocation_additional)->filter()->all();
} }
session()->put('lastUsedNode', $data['node_id']);
try { try {
return $this->serverCreationService->handle($data); return $this->serverCreationService->handle($data);
} catch (Exception $exception) { } catch (Exception $exception) {