mirror of
https://github.com/pelican-dev/panel.git
synced 2025-09-19 22:14:52 +02:00
Make allocation select on users server relation manager functional (#1719)
This commit is contained in:
parent
6db1d82738
commit
c10280af4b
@ -51,19 +51,19 @@ class ListServers extends ListRecords
|
|||||||
->sortable(),
|
->sortable(),
|
||||||
TextColumn::make('node.name')
|
TextColumn::make('node.name')
|
||||||
->label(trans('admin/server.node'))
|
->label(trans('admin/server.node'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
|
->url(fn (Server $server) => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
|
||||||
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'node.name')
|
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'node.name')
|
||||||
->sortable()
|
->sortable()
|
||||||
->searchable(),
|
->searchable(),
|
||||||
TextColumn::make('egg.name')
|
TextColumn::make('egg.name')
|
||||||
->label(trans('admin/server.egg'))
|
->label(trans('admin/server.egg'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
|
->url(fn (Server $server) => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
|
||||||
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'egg.name')
|
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'egg.name')
|
||||||
->sortable()
|
->sortable()
|
||||||
->searchable(),
|
->searchable(),
|
||||||
TextColumn::make('user.username')
|
TextColumn::make('user.username')
|
||||||
->label(trans('admin/user.username'))
|
->label(trans('admin/user.username'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.users.edit', ['record' => $server->user]))
|
->url(fn (Server $server) => route('filament.admin.resources.users.edit', ['record' => $server->user]))
|
||||||
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'user.username')
|
->hidden(fn (Table $table) => $table->getGrouping()?->getId() === 'user.username')
|
||||||
->sortable()
|
->sortable()
|
||||||
->searchable(),
|
->searchable(),
|
||||||
@ -78,8 +78,7 @@ class ListServers extends ListRecords
|
|||||||
TextColumn::make('allocation_id_readonly')
|
TextColumn::make('allocation_id_readonly')
|
||||||
->label(trans('admin/server.primary_allocation'))
|
->label(trans('admin/server.primary_allocation'))
|
||||||
->hidden(fn () => auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
|
->hidden(fn () => auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
|
||||||
->disabled(fn (Server $server) => $server->allocations->count() <= 1)
|
->state(fn (Server $server) => $server->allocation->address ?? trans('admin/server.none')),
|
||||||
->state(fn (Server $server) => $server->allocation->address ?? 'None'),
|
|
||||||
TextColumn::make('image')->hidden(),
|
TextColumn::make('image')->hidden(),
|
||||||
TextColumn::make('backups_count')
|
TextColumn::make('backups_count')
|
||||||
->counts('backups')
|
->counts('backups')
|
||||||
|
@ -54,24 +54,29 @@ class ServersRelationManager extends RelationManager
|
|||||||
->searchable(),
|
->searchable(),
|
||||||
TextColumn::make('name')
|
TextColumn::make('name')
|
||||||
->label(trans('admin/server.name'))
|
->label(trans('admin/server.name'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.servers.edit', ['record' => $server]))
|
->url(fn (Server $server) => route('filament.admin.resources.servers.edit', ['record' => $server]))
|
||||||
->searchable()
|
->searchable()
|
||||||
->sortable(),
|
->sortable(),
|
||||||
TextColumn::make('node.name')
|
TextColumn::make('node.name')
|
||||||
->label(trans('admin/server.node'))
|
->label(trans('admin/server.node'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
|
->url(fn (Server $server) => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
|
||||||
->sortable(),
|
->sortable(),
|
||||||
TextColumn::make('egg.name')
|
TextColumn::make('egg.name')
|
||||||
->label(trans('admin/server.egg'))
|
->label(trans('admin/server.egg'))
|
||||||
->url(fn (Server $server): string => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
|
->url(fn (Server $server) => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
|
||||||
->sortable(),
|
->sortable(),
|
||||||
SelectColumn::make('allocation.id')
|
SelectColumn::make('allocation_id')
|
||||||
->label(trans('admin/server.primary_allocation'))
|
->label(trans('admin/server.primary_allocation'))
|
||||||
->disabled()
|
->hidden(fn () => !auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
|
||||||
->options(fn (Server $server) => $server->allocations->take(1)->mapWithKeys(fn ($allocation) => [$allocation->id => $allocation->address]))
|
->disabled(fn (Server $server) => $server->allocations->count() <= 1)
|
||||||
|
->options(fn (Server $server) => $server->allocations->mapWithKeys(fn ($allocation) => [$allocation->id => $allocation->address]))
|
||||||
|
->selectablePlaceholder(fn (Server $server) => $server->allocations->count() <= 1)
|
||||||
->placeholder(trans('admin/server.none'))
|
->placeholder(trans('admin/server.none'))
|
||||||
->sortable(),
|
->sortable(),
|
||||||
TextColumn::make('image')->hidden(),
|
TextColumn::make('allocation_id_readonly')
|
||||||
|
->label(trans('admin/server.primary_allocation'))
|
||||||
|
->hidden(fn () => auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
|
||||||
|
->state(fn (Server $server) => $server->allocation->address ?? trans('admin/server.none')),
|
||||||
TextColumn::make('databases_count')
|
TextColumn::make('databases_count')
|
||||||
->counts('databases')
|
->counts('databases')
|
||||||
->label(trans('admin/server.databases'))
|
->label(trans('admin/server.databases'))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user