mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 04:04:45 +02:00
Add Databases to Edit Server
This commit is contained in:
parent
59bbb63739
commit
482e8ed6b2
@ -29,8 +29,7 @@ class ListEggs extends ListRecords
|
|||||||
->columns([
|
->columns([
|
||||||
Tables\Columns\TextColumn::make('id')
|
Tables\Columns\TextColumn::make('id')
|
||||||
->label('Id')
|
->label('Id')
|
||||||
->searchable()
|
->hidden(),
|
||||||
->sortable(),
|
|
||||||
Tables\Columns\TextColumn::make('name')
|
Tables\Columns\TextColumn::make('name')
|
||||||
->icon('tabler-egg')
|
->icon('tabler-egg')
|
||||||
->description(fn ($record): ?string => (strlen($record->description) > 120) ? substr($record->description, 0, 120).'...' : $record->description)
|
->description(fn ($record): ?string => (strlen($record->description) > 120) ? substr($record->description, 0, 120).'...' : $record->description)
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\ServerResource\Pages;
|
namespace App\Filament\Resources\ServerResource\Pages;
|
||||||
|
|
||||||
|
use App\Services\Databases\DatabaseManagementService;
|
||||||
|
use Filament\Forms\Components\Actions\Action;
|
||||||
|
use Filament\Forms\Components\Repeater;
|
||||||
|
use Filament\Forms\Components\TextInput;
|
||||||
use LogicException;
|
use LogicException;
|
||||||
use App\Filament\Resources\ServerResource;
|
use App\Filament\Resources\ServerResource;
|
||||||
use App\Http\Controllers\Admin\ServersController;
|
use App\Http\Controllers\Admin\ServersController;
|
||||||
@ -587,9 +591,41 @@ class EditServer extends EditRecord
|
|||||||
Tabs\Tab::make('Databases')
|
Tabs\Tab::make('Databases')
|
||||||
->icon('tabler-database')
|
->icon('tabler-database')
|
||||||
->schema([
|
->schema([
|
||||||
Forms\Components\Placeholder::make('soon')
|
Repeater::make('databases')
|
||||||
->label('Soon™'),
|
->columnSpanFull()
|
||||||
]),
|
->grid()
|
||||||
|
->schema([
|
||||||
|
TextInput::make('db_name')
|
||||||
|
->label('Database Name')
|
||||||
|
->hintAction(
|
||||||
|
Action::make('Delete')
|
||||||
|
->color('danger')
|
||||||
|
->icon('tabler-trash')
|
||||||
|
->action(fn (DatabaseManagementService $databaseManagementService, $record) => $databaseManagementService->delete($record))
|
||||||
|
)
|
||||||
|
->formatStateUsing(fn ($record) => $record->database)
|
||||||
|
->readOnly(),
|
||||||
|
TextInput::make('db_username')
|
||||||
|
->label('Username')
|
||||||
|
->inlineLabel()
|
||||||
|
->formatStateUsing(fn ($record) => $record->username)
|
||||||
|
->readOnly(),
|
||||||
|
TextInput::make('db_password')
|
||||||
|
->label('Password')
|
||||||
|
->inlineLabel()
|
||||||
|
->formatStateUsing(fn ($record) => $record->password)
|
||||||
|
->readOnly(),
|
||||||
|
TextInput::make('db_max_connections')
|
||||||
|
->label('Max Connections')
|
||||||
|
->inlineLabel()
|
||||||
|
->formatStateUsing(fn ($record) => $record->max_connections < 1 ? 'Unlimited' : $record->max_connections)
|
||||||
|
->readOnly(),
|
||||||
|
])
|
||||||
|
->relationship('databases')
|
||||||
|
->deletable(false)
|
||||||
|
->addable(false)
|
||||||
|
->columnSpan(4),
|
||||||
|
])->columns(4),
|
||||||
Tabs\Tab::make('Actions')
|
Tabs\Tab::make('Actions')
|
||||||
->icon('tabler-settings')
|
->icon('tabler-settings')
|
||||||
->schema([
|
->schema([
|
||||||
@ -709,7 +745,7 @@ class EditServer extends EditRecord
|
|||||||
protected function transferServer(Form $form): Form
|
protected function transferServer(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->columns(2)
|
->columns()
|
||||||
->schema([
|
->schema([
|
||||||
Forms\Components\Select::make('toNode')
|
Forms\Components\Select::make('toNode')
|
||||||
->label('New Node'),
|
->label('New Node'),
|
||||||
@ -724,6 +760,8 @@ class EditServer extends EditRecord
|
|||||||
Actions\DeleteAction::make('Delete')
|
Actions\DeleteAction::make('Delete')
|
||||||
->successRedirectUrl(route('filament.admin.resources.servers.index'))
|
->successRedirectUrl(route('filament.admin.resources.servers.index'))
|
||||||
->color('danger')
|
->color('danger')
|
||||||
|
->disabled(fn (Server $server) => $server->databases()->count() > 0)
|
||||||
|
->label(fn (Server $server) => $server->databases()->count() > 0 ? 'Server has a Database' : 'Delete')
|
||||||
->after(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server))
|
->after(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server))
|
||||||
->requiresConfirmation(),
|
->requiresConfirmation(),
|
||||||
Actions\Action::make('console')
|
Actions\Action::make('console')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user