mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 10:56:52 +01: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