Fix #606 - Prevent database hosts bulk selection if host has any databases (#640)

* Prevent hosts with databases from being selected for bulk actions

* Add icons

* Update input to select

* Update app/Filament/Resources/DatabaseHostResource/Pages/ListDatabaseHosts.php

* Add placeholder
This commit is contained in:
Lance Pioch 2024-10-20 14:20:32 -04:00 committed by GitHub
parent e9f6fbadd4
commit bcbacb47cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 7 deletions

View File

@ -32,13 +32,16 @@ class ListDatabaseHosts extends ListRecords
->sortable(), ->sortable(),
TextColumn::make('username') TextColumn::make('username')
->searchable(), ->searchable(),
TextColumn::make('max_databases') TextColumn::make('databases_count')
->numeric() ->counts('databases')
->sortable(), ->icon('tabler-database')
->label('Databases'),
TextColumn::make('node.name') TextColumn::make('node.name')
->numeric() ->icon('tabler-server-2')
->placeholder('No Nodes')
->sortable(), ->sortable(),
]) ])
->checkIfRecordIsSelectableUsing(fn (DatabaseHost $databaseHost) => !$databaseHost->databases_count)
->actions([ ->actions([
EditAction::make(), EditAction::make(),
]) ])

View File

@ -21,9 +21,12 @@ class CreateDatabase extends CreateRecord
->searchable() ->searchable()
->preload() ->preload()
->required(), ->required(),
TextInput::make('database_host_id') Select::make('database_host_id')
->required() ->relationship('host', 'name')
->numeric(), ->searchable()
->selectablePlaceholder(false)
->preload()
->required(),
TextInput::make('database') TextInput::make('database')
->required() ->required()
->maxLength(255), ->maxLength(255),