mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-19 19:54:45 +02:00
Small changes for new client area (#751)
* add placeholder to allocation notes * add button to open server in admin area * use new client area for "console" button on EditServer * hide schedule presets on view * use arrow functions for auth checks * add placeholder to schedules last run * change icon of "open in admin" * fix parentheses
This commit is contained in:
parent
918ba02075
commit
1337767049
@ -6,6 +6,7 @@ use App\Enums\ContainerStatus;
|
||||
use App\Enums\ServerState;
|
||||
use App\Filament\Resources\ServerResource;
|
||||
use App\Filament\Resources\ServerResource\RelationManagers\AllocationsRelationManager;
|
||||
use App\Filament\Server\Pages\Console;
|
||||
use App\Models\Database;
|
||||
use App\Models\DatabaseHost;
|
||||
use App\Models\Egg;
|
||||
@ -870,7 +871,7 @@ class EditServer extends EditRecord
|
||||
Actions\Action::make('console')
|
||||
->label('Console')
|
||||
->icon('tabler-terminal')
|
||||
->url(fn (Server $server) => "/server/$server->uuid_short"),
|
||||
->url(fn (Server $server) => Console::getUrl(panel: 'server', tenant: $server)),
|
||||
$this->getSaveFormAction()->formId('form'),
|
||||
];
|
||||
|
||||
|
@ -53,7 +53,7 @@ class Settings extends ServerFormPage
|
||||
->schema([
|
||||
TextInput::make('name')
|
||||
->label('Server Name')
|
||||
->disabled(!auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
|
||||
->required()
|
||||
->columnSpan([
|
||||
'default' => 1,
|
||||
@ -66,7 +66,7 @@ class Settings extends ServerFormPage
|
||||
Textarea::make('description')
|
||||
->label('Server Description')
|
||||
->hidden(!config('panel.editable_server_descriptions'))
|
||||
->disabled(!auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
|
||||
->columnSpan([
|
||||
'default' => 1,
|
||||
'sm' => 2,
|
||||
@ -168,7 +168,7 @@ class Settings extends ServerFormPage
|
||||
->footerActions([
|
||||
Action::make('reinstall')
|
||||
->color('danger')
|
||||
->disabled(!auth()->user()->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
|
||||
->label('Reinstall')
|
||||
->requiresConfirmation()
|
||||
->modalHeading('Are you sure you want to reinstall the server?')
|
||||
|
@ -62,7 +62,7 @@ class Startup extends ServerFormPage
|
||||
->label('Docker Image')
|
||||
->live()
|
||||
->visible(fn (Server $server) => in_array($server->image, $server->egg->docker_images))
|
||||
->disabled(!auth()->user()->can(Permission::ACTION_STARTUP_DOCKER_IMAGE, $server))
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_STARTUP_DOCKER_IMAGE, $server))
|
||||
->afterStateUpdated(function ($state, Server $server) {
|
||||
$original = $server->image;
|
||||
$server->forceFill(['image' => $state])->saveOrFail();
|
||||
@ -97,7 +97,7 @@ class Startup extends ServerFormPage
|
||||
->label('')
|
||||
->relationship('viewableServerVariables')
|
||||
->grid()
|
||||
->disabled(!auth()->user()->can(Permission::ACTION_STARTUP_UPDATE, $server))
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_STARTUP_UPDATE, $server))
|
||||
->reorderable(false)->addable(false)->deletable(false)
|
||||
->schema(function () {
|
||||
$text = TextInput::make('variable_value')
|
||||
|
@ -36,7 +36,8 @@ class ListAllocations extends ListRecords
|
||||
TextColumn::make('port'),
|
||||
TextInputColumn::make('notes')
|
||||
->disabled(fn () => !auth()->user()->can(Permission::ACTION_ALLOCATION_UPDATE, $server))
|
||||
->label('Notes'),
|
||||
->label('Notes')
|
||||
->placeholder('No Notes'),
|
||||
IconColumn::make('primary')
|
||||
->icon(fn ($state) => match ($state) {
|
||||
true => 'tabler-star-filled',
|
||||
|
@ -70,7 +70,7 @@ class EditFiles extends Page
|
||||
->footerActions([
|
||||
Action::make('save')
|
||||
->label('Save Changes')
|
||||
->authorize(auth()->user()->can(Permission::ACTION_FILE_UPDATE, $server))
|
||||
->authorize(fn () => auth()->user()->can(Permission::ACTION_FILE_UPDATE, $server))
|
||||
->icon('tabler-device-floppy')
|
||||
->keyBindings('mod+s')
|
||||
->action(function () use ($server) {
|
||||
|
@ -111,6 +111,7 @@ class ScheduleResource extends Resource
|
||||
->default('*')
|
||||
->required(),
|
||||
Section::make('Presets')
|
||||
->hiddenOn('view')
|
||||
->schema([
|
||||
Actions::make([
|
||||
Action::make('hourly')
|
||||
|
@ -33,6 +33,7 @@ class ListSchedules extends ListRecords
|
||||
->sortable(),
|
||||
DateTimeColumn::make('last_run_at')
|
||||
->label('Last run')
|
||||
->placeholder('Never')
|
||||
->since()
|
||||
->sortable(),
|
||||
DateTimeColumn::make('next_run_at')
|
||||
|
@ -4,6 +4,7 @@ namespace App\Providers\Filament;
|
||||
|
||||
use App\Filament\App\Resources\ServerResource\Pages\ListServers;
|
||||
use App\Filament\Pages\Auth\Login;
|
||||
use App\Filament\Resources\ServerResource\Pages\EditServer;
|
||||
use App\Filament\Resources\UserResource\Pages\EditProfile;
|
||||
use App\Http\Middleware\Activity\ServerSubject;
|
||||
use App\Models\Server;
|
||||
@ -12,6 +13,7 @@ use Filament\Http\Middleware\Authenticate;
|
||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||
use Filament\Navigation\MenuItem;
|
||||
use Filament\Navigation\NavigationItem;
|
||||
use Filament\Panel;
|
||||
use Filament\PanelProvider;
|
||||
use Filament\Support\Enums\MaxWidth;
|
||||
@ -54,6 +56,13 @@ class ServerPanelProvider extends PanelProvider
|
||||
->sort(5)
|
||||
->visible(fn (): bool => auth()->user()->canAccessPanel(Filament::getPanel('admin'))),
|
||||
])
|
||||
->navigationItems([
|
||||
NavigationItem::make('Open in Admin')
|
||||
->url(fn () => EditServer::getUrl(['record' => Filament::getTenant()], panel: 'admin', tenant: null), true)
|
||||
->visible(fn () => auth()->user()->can('view server', Filament::getTenant()))
|
||||
->icon('tabler-arrow-back')
|
||||
->sort(99),
|
||||
])
|
||||
->discoverResources(in: app_path('Filament/Server/Resources'), for: 'App\\Filament\\Server\\Resources')
|
||||
->discoverPages(in: app_path('Filament/Server/Pages'), for: 'App\\Filament\\Server\\Pages')
|
||||
->discoverWidgets(in: app_path('Filament/Server/Widgets'), for: 'App\\Filament\\Server\\Widgets')
|
||||
|
Loading…
x
Reference in New Issue
Block a user