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(),
TextColumn::make('username')
->searchable(),
TextColumn::make('max_databases')
->numeric()
->sortable(),
TextColumn::make('databases_count')
->counts('databases')
->icon('tabler-database')
->label('Databases'),
TextColumn::make('node.name')
->numeric()
->icon('tabler-server-2')
->placeholder('No Nodes')
->sortable(),
])
->checkIfRecordIsSelectableUsing(fn (DatabaseHost $databaseHost) => !$databaseHost->databases_count)
->actions([
EditAction::make(),
])

View File

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