mirror of
https://github.com/pelican-dev/panel.git
synced 2025-07-03 03:01:08 +02:00
Disaster Recovery v4
This commit is contained in:
parent
ea19202609
commit
250d293edf
@ -120,7 +120,7 @@ class Handler extends ExceptionHandler
|
||||
/**
|
||||
* Render an exception into an HTTP response.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Request $request
|
||||
*
|
||||
* @throws Throwable
|
||||
*/
|
||||
@ -146,7 +146,7 @@ class Handler extends ExceptionHandler
|
||||
* Transform a validation exception into a consistent format to be returned for
|
||||
* calls to the API.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Request $request
|
||||
*/
|
||||
public function invalidJson($request, ValidationException $exception): JsonResponse
|
||||
{
|
||||
@ -260,7 +260,7 @@ class Handler extends ExceptionHandler
|
||||
/**
|
||||
* Convert an authentication exception into an unauthenticated response.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Request $request
|
||||
*/
|
||||
protected function unauthenticated($request, AuthenticationException $exception): JsonResponse|RedirectResponse
|
||||
{
|
||||
|
@ -12,6 +12,7 @@ use Exception;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Infolists\Components\TextEntry;
|
||||
use Filament\Notifications\Notification;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Foundation\Application;
|
||||
@ -60,7 +61,7 @@ class GSLToken extends FeatureProvider
|
||||
->modalSubmitActionLabel('Update GSL Token')
|
||||
->disabledSchema(fn () => !auth()->user()->can(Permission::ACTION_STARTUP_UPDATE, $server))
|
||||
->schema([
|
||||
Placeholder::make('info')
|
||||
TextEntry::make('info')
|
||||
->label(new HtmlString(Blade::render('You can either <x-filament::link href="https://steamcommunity.com/dev/managegameservers" target="_blank">generate a new one</x-filament::link> and enter it below or leave the field blank to remove it completely.'))),
|
||||
TextInput::make('gsltoken')
|
||||
->label('GSL Token')
|
||||
|
@ -9,7 +9,6 @@ use Illuminate\Foundation\Application;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\HtmlString;
|
||||
use SocialiteProviders\Discord\Provider;
|
||||
use Webbingbrasil\FilamentCopyActions\Forms\Actions\CopyAction;
|
||||
|
||||
final class DiscordProvider extends OAuthProvider
|
||||
{
|
||||
@ -43,7 +42,7 @@ final class DiscordProvider extends OAuthProvider
|
||||
->label('Redirect URL')
|
||||
->dehydrated()
|
||||
->disabled()
|
||||
->hintAction(fn (string $state) => request()->isSecure() ? CopyAction::make()->copyable($state) : null)
|
||||
//TODO ->hintAction(fn (string $state) => request()->isSecure() ? CopyAction::make()->copyable($state) : null)
|
||||
->formatStateUsing(fn () => url('/auth/oauth/callback/discord')),
|
||||
]),
|
||||
], parent::getSetupSteps());
|
||||
|
@ -7,7 +7,7 @@ use Filament\Pages\Dashboard as BaseDashboard;
|
||||
|
||||
class Dashboard extends BaseDashboard
|
||||
{
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-layout-dashboard';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-layout-dashboard';
|
||||
|
||||
private SoftwareVersionService $softwareVersionService;
|
||||
|
||||
|
@ -13,7 +13,7 @@ use Spatie\Health\ResultStores\ResultStore;
|
||||
|
||||
class Health extends Page
|
||||
{
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-heart';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-heart';
|
||||
|
||||
protected string $view = 'filament.pages.health';
|
||||
|
||||
|
@ -10,6 +10,7 @@ use App\Notifications\MailTested;
|
||||
use App\Traits\EnvironmentWriterTrait;
|
||||
use App\Traits\Filament\CanCustomizeHeaderActions;
|
||||
use App\Traits\Filament\CanCustomizeHeaderWidgets;
|
||||
use BackedEnum;
|
||||
use Exception;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\ActionGroup;
|
||||
@ -54,7 +55,7 @@ class Settings extends Page implements HasSchemas
|
||||
use EnvironmentWriterTrait;
|
||||
use InteractsWithForms;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-settings';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-settings';
|
||||
|
||||
protected string $view = 'filament.pages.settings';
|
||||
|
||||
|
@ -5,7 +5,6 @@ namespace App\Filament\Admin\Resources;
|
||||
use Filament\Schemas\Schema;
|
||||
use App\Filament\Admin\Resources\ApiKeyResource\Pages\ListApiKeys;
|
||||
use App\Filament\Admin\Resources\ApiKeyResource\Pages\CreateApiKey;
|
||||
use App\Filament\Admin\Resources\ApiKeyResource\Pages;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages\EditUser;
|
||||
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
||||
use App\Models\ApiKey;
|
||||
@ -22,7 +21,6 @@ use Filament\Forms\Components\ToggleButtons;
|
||||
use Filament\Resources\Pages\PageRegistration;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Components\Fieldset;
|
||||
use Filament\Schemas\Components\Form;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
@ -36,7 +34,7 @@ class ApiKeyResource extends Resource
|
||||
|
||||
protected static ?string $model = ApiKey::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-key';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-key';
|
||||
|
||||
public static function getNavigationLabel(): string
|
||||
{
|
||||
@ -112,16 +110,12 @@ class ApiKeyResource extends Resource
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function form(Form|Schema $form): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $form
|
||||
return $schema
|
||||
->schema([
|
||||
Fieldset::make('Permissions')
|
||||
->columns([
|
||||
'default' => 1,
|
||||
'sm' => 1,
|
||||
'md' => 2,
|
||||
])
|
||||
->columnSpanFull()
|
||||
->schema(
|
||||
collect(ApiKey::getPermissionList())->map(fn ($resource) => ToggleButtons::make('permissions_' . $resource)
|
||||
->label(str($resource)->replace('_', ' ')->title())->inline()
|
||||
|
@ -7,8 +7,6 @@ use App\Filament\Admin\Resources\DatabaseHostResource\Pages\ListDatabaseHosts;
|
||||
use App\Filament\Admin\Resources\DatabaseHostResource\Pages\CreateDatabaseHost;
|
||||
use App\Filament\Admin\Resources\DatabaseHostResource\Pages\ViewDatabaseHost;
|
||||
use App\Filament\Admin\Resources\DatabaseHostResource\Pages\EditDatabaseHost;
|
||||
use App\Filament\Admin\Resources\DatabaseHostResource\Pages;
|
||||
use App\Filament\Admin\Resources\DatabaseHostResource\RelationManagers;
|
||||
use App\Models\DatabaseHost;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
use App\Traits\Filament\CanCustomizeRelations;
|
||||
@ -25,6 +23,7 @@ use Filament\Resources\Pages\PageRegistration;
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Components\Section;
|
||||
use Filament\Schemas\Components\Utilities\Set;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
@ -39,7 +38,7 @@ class DatabaseHostResource extends Resource
|
||||
|
||||
protected static ?string $model = DatabaseHost::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-database';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-database';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
@ -112,7 +111,7 @@ class DatabaseHostResource extends Resource
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
|
@ -2,12 +2,14 @@
|
||||
|
||||
namespace App\Filament\Admin\Resources\DatabaseHostResource\RelationManagers;
|
||||
|
||||
use Exception;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\ViewAction;
|
||||
use Filament\Schemas\Schema;
|
||||
use App\Filament\Components\Forms\Actions\RotateDatabasePasswordAction;
|
||||
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
||||
use App\Models\Database;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Schemas\Components\Form;
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
@ -16,7 +18,10 @@ class DatabasesRelationManager extends RelationManager
|
||||
{
|
||||
protected static string $relationship = 'databases';
|
||||
|
||||
public function form(Form|Schema $schema): Schema
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function form(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->schema([
|
||||
|
@ -6,8 +6,6 @@ use App\Filament\Admin\Resources\EggResource\RelationManagers\ServersRelationMan
|
||||
use App\Filament\Admin\Resources\EggResource\Pages\ListEggs;
|
||||
use App\Filament\Admin\Resources\EggResource\Pages\CreateEgg;
|
||||
use App\Filament\Admin\Resources\EggResource\Pages\EditEgg;
|
||||
use App\Filament\Admin\Resources\EggResource\Pages;
|
||||
use App\Filament\Admin\Resources\EggResource\RelationManagers;
|
||||
use App\Models\Egg;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
use App\Traits\Filament\CanCustomizeRelations;
|
||||
@ -22,7 +20,7 @@ class EggResource extends Resource
|
||||
|
||||
protected static ?string $model = Egg::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-eggs';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-eggs';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
|
@ -7,7 +7,6 @@ use App\Filament\Admin\Resources\MountResource\Pages\CreateMount;
|
||||
use App\Filament\Admin\Resources\MountResource\Pages\ViewMount;
|
||||
use App\Filament\Admin\Resources\MountResource\Pages\EditMount;
|
||||
use Exception;
|
||||
use App\Filament\Admin\Resources\MountResource\Pages;
|
||||
use App\Models\Mount;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
use App\Traits\Filament\CanCustomizeRelations;
|
||||
@ -39,7 +38,7 @@ class MountResource extends Resource
|
||||
|
||||
protected static ?string $model = Mount::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-layers-linked';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-layers-linked';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
@ -115,7 +114,7 @@ class MountResource extends Resource
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
|
@ -7,8 +7,6 @@ use App\Filament\Admin\Resources\NodeResource\RelationManagers\NodesRelationMana
|
||||
use App\Filament\Admin\Resources\NodeResource\Pages\ListNodes;
|
||||
use App\Filament\Admin\Resources\NodeResource\Pages\CreateNode;
|
||||
use App\Filament\Admin\Resources\NodeResource\Pages\EditNode;
|
||||
use App\Filament\Admin\Resources\NodeResource\Pages;
|
||||
use App\Filament\Admin\Resources\NodeResource\RelationManagers;
|
||||
use App\Models\Node;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
use App\Traits\Filament\CanCustomizeRelations;
|
||||
@ -24,7 +22,7 @@ class NodeResource extends Resource
|
||||
|
||||
protected static ?string $model = Node::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-server-2';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-server-2';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
|
@ -2,6 +2,10 @@
|
||||
|
||||
namespace App\Filament\Admin\Resources\NodeResource\Pages;
|
||||
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Schemas\Components\Actions;
|
||||
use Filament\Schemas\Components\Grid;
|
||||
use Throwable;
|
||||
use App\Filament\Admin\Resources\NodeResource;
|
||||
use App\Models\Node;
|
||||
@ -12,7 +16,6 @@ use App\Services\Nodes\NodeUpdateService;
|
||||
use App\Traits\Filament\CanCustomizeHeaderActions;
|
||||
use App\Traits\Filament\CanCustomizeHeaderWidgets;
|
||||
use Exception;
|
||||
use Filament\Actions;
|
||||
use Filament\Forms\Components\Hidden;
|
||||
use Filament\Forms\Components\TagsInput;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
@ -20,7 +23,6 @@ use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\ToggleButtons;
|
||||
use Filament\Infolists\Components\TextEntry;
|
||||
use Filament\Schemas\Components\Fieldset;
|
||||
use Filament\Schemas\Components\Form;
|
||||
use Filament\Schemas\Components\Tabs;
|
||||
use Filament\Schemas\Components\Tabs\Tab;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
@ -592,7 +594,7 @@ class EditNode extends EditRecord
|
||||
//TODO ->hintAction(fn (string $state) => request()->isSecure() ? CopyAction::make()->copyable($state) : null)
|
||||
->formatStateUsing(fn (NodeAutoDeployService $service, Node $node, Set $set, Get $get) => $set('generatedToken', $service->handle(request(), $node, $get('docker')))),
|
||||
])
|
||||
->mountUsing(function (Form|Schema $schema) {
|
||||
->mountUsing(function (Schema $schema) {
|
||||
$schema->fill();
|
||||
}),
|
||||
])->fullWidth(),
|
||||
@ -650,7 +652,7 @@ class EditNode extends EditRecord
|
||||
return [];
|
||||
}
|
||||
|
||||
/** @return array<Actions\Action|Actions\ActionGroup> */
|
||||
/** @return array<Action|Actions> */
|
||||
protected function getDefaultHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
|
@ -27,7 +27,7 @@ class AllocationsRelationManager extends RelationManager
|
||||
{
|
||||
protected static string $relationship = 'allocations';
|
||||
|
||||
protected static string | \BackedEnum | null $icon = 'tabler-plug-connected';
|
||||
protected static string|\BackedEnum|null $icon = 'tabler-plug-connected';
|
||||
|
||||
public function setTitle(): string
|
||||
{
|
||||
|
@ -12,7 +12,7 @@ class NodesRelationManager extends RelationManager
|
||||
{
|
||||
protected static string $relationship = 'servers';
|
||||
|
||||
protected static string | \BackedEnum | null $icon = 'tabler-brand-docker';
|
||||
protected static string|\BackedEnum|null $icon = 'tabler-brand-docker';
|
||||
|
||||
public function setTitle(): string
|
||||
{
|
||||
|
@ -7,7 +7,6 @@ use App\Filament\Admin\Resources\RoleResource\Pages\CreateRole;
|
||||
use App\Filament\Admin\Resources\RoleResource\Pages\ViewRole;
|
||||
use App\Filament\Admin\Resources\RoleResource\Pages\EditRole;
|
||||
use BackedEnum;
|
||||
use App\Filament\Admin\Resources\RoleResource\Pages;
|
||||
use App\Models\Role;
|
||||
use Exception;
|
||||
use Filament\Actions\Action;
|
||||
@ -44,7 +43,7 @@ class RoleResource extends Resource
|
||||
|
||||
protected static ?string $model = Role::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-users-group';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-users-group';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
@ -118,7 +117,7 @@ class RoleResource extends Resource
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
$permissionSections = [];
|
||||
|
||||
@ -164,7 +163,7 @@ class RoleResource extends Resource
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string[]|int[]|Permission[]|BackedEnum[] $options
|
||||
* @param string[]|int[]|Permission[]|BackedEnum[] $options
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
|
@ -7,8 +7,6 @@ use App\Filament\Admin\Resources\ServerResource\Pages\ListServers;
|
||||
use App\Filament\Admin\Resources\ServerResource\Pages\CreateServer;
|
||||
use App\Filament\Admin\Resources\ServerResource\Pages\EditServer;
|
||||
use Exception;
|
||||
use App\Filament\Admin\Resources\ServerResource\Pages;
|
||||
use App\Filament\Admin\Resources\ServerResource\RelationManagers;
|
||||
use App\Models\Mount;
|
||||
use App\Models\Server;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
@ -27,7 +25,7 @@ class ServerResource extends Resource
|
||||
|
||||
protected static ?string $model = Server::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-brand-docker';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-brand-docker';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Admin\Resources\ServerResource\Pages;
|
||||
|
||||
use AbdelhamidErrahmouni\FilamentMonacoEditor\MonacoEditor;
|
||||
use App\Enums\SuspendAction;
|
||||
use App\Filament\Admin\Resources\ServerResource;
|
||||
use App\Filament\Admin\Resources\ServerResource\RelationManagers\AllocationsRelationManager;
|
||||
use App\Filament\Components\Forms\Actions\PreviewStartupAction;
|
||||
use App\Filament\Components\Forms\Actions\RotateDatabasePasswordAction;
|
||||
use App\Filament\Server\Pages\Console;
|
||||
@ -30,6 +30,7 @@ use App\Traits\Filament\CanCustomizeHeaderWidgets;
|
||||
use Closure;
|
||||
use Exception;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Forms\Components\CodeEditor;
|
||||
use Filament\Schemas\Components\Actions;
|
||||
use Filament\Schemas\Components\Component;
|
||||
use Filament\Schemas\Components\Fieldset;
|
||||
@ -164,9 +165,8 @@ class EditServer extends EditRecord
|
||||
->modalFooterActionsAlignment(Alignment::Right)
|
||||
->modalCancelActionLabel(trans('filament::components/modal.actions.close.label'))
|
||||
->schema([
|
||||
MonacoEditor::make('logs')
|
||||
CodeEditor::make('logs')
|
||||
->hiddenLabel()
|
||||
->placeholderText(trans('admin/server.no_log'))
|
||||
->formatStateUsing(function (Server $server, DaemonServerRepository $serverRepository) {
|
||||
try {
|
||||
return $serverRepository->setServer($server)->getInstallLogs();
|
||||
|
@ -7,8 +7,6 @@ use App\Filament\Admin\Resources\UserResource\Pages\ListUsers;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages\CreateUser;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages\ViewUser;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages\EditUser;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages;
|
||||
use App\Filament\Admin\Resources\UserResource\RelationManagers;
|
||||
use App\Models\Role;
|
||||
use App\Models\User;
|
||||
use App\Traits\Filament\CanCustomizePages;
|
||||
@ -38,7 +36,7 @@ class UserResource extends Resource
|
||||
|
||||
protected static ?string $model = User::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-users';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-users';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'username';
|
||||
|
||||
@ -115,7 +113,7 @@ class UserResource extends Resource
|
||||
]);
|
||||
}
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->columns(['default' => 1, 'lg' => 3])
|
||||
|
@ -6,7 +6,6 @@ use App\Filament\Admin\Resources\WebhookResource\Pages\ListWebhookConfigurations
|
||||
use App\Filament\Admin\Resources\WebhookResource\Pages\CreateWebhookConfiguration;
|
||||
use App\Filament\Admin\Resources\WebhookResource\Pages\ViewWebhookConfiguration;
|
||||
use App\Filament\Admin\Resources\WebhookResource\Pages\EditWebhookConfiguration;
|
||||
use App\Filament\Admin\Resources\WebhookResource\Pages;
|
||||
use App\Models\WebhookConfiguration;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
@ -34,7 +33,7 @@ class WebhookResource extends Resource
|
||||
|
||||
protected static ?string $model = WebhookConfiguration::class;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-webhook';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-webhook';
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'description';
|
||||
|
||||
@ -89,7 +88,7 @@ class WebhookResource extends Resource
|
||||
]);
|
||||
}
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
|
@ -3,7 +3,6 @@
|
||||
namespace App\Filament\App\Resources;
|
||||
|
||||
use App\Filament\App\Resources\ServerResource\Pages\ListServers;
|
||||
use App\Filament\App\Resources\ServerResource\Pages;
|
||||
use App\Models\Server;
|
||||
use Filament\Resources\Resource;
|
||||
|
||||
|
@ -3,11 +3,11 @@
|
||||
namespace App\Filament\Server\Components;
|
||||
|
||||
use Closure;
|
||||
use Filament\Schemas\Components\Component;
|
||||
use Filament\Support\Concerns\EvaluatesClosures;
|
||||
use Filament\Widgets\StatsOverviewWidget\Stat;
|
||||
use Illuminate\Contracts\View\View;
|
||||
|
||||
class SmallStatBlock extends Component
|
||||
class SmallStatBlock extends Stat
|
||||
{
|
||||
use EvaluatesClosures;
|
||||
|
||||
@ -16,9 +16,9 @@ class SmallStatBlock extends Component
|
||||
public function copyOnClick(bool|Closure $copyOnClick = true): static
|
||||
{
|
||||
$this->copyOnClick = $copyOnClick;
|
||||
}
|
||||
|
||||
protected string $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function shouldCopyOnClick(): bool
|
||||
{
|
||||
@ -27,6 +27,6 @@ class SmallStatBlock extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return value($this->value);
|
||||
return view('filament.components.server-small-data-block', $this->data());
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ use Illuminate\Support\Number;
|
||||
|
||||
class Settings extends ServerFormPage
|
||||
{
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-settings';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-settings';
|
||||
|
||||
protected static ?int $navigationSort = 10;
|
||||
|
||||
|
@ -24,7 +24,7 @@ use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class Startup extends ServerFormPage
|
||||
{
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-player-play';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-player-play';
|
||||
|
||||
protected static ?int $navigationSort = 9;
|
||||
|
||||
|
@ -6,7 +6,6 @@ use App\Filament\Server\Resources\ActivityResource\Pages\ListActivities;
|
||||
use Exception;
|
||||
use App\Filament\Admin\Resources\UserResource\Pages\EditUser;
|
||||
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
||||
use App\Filament\Server\Resources\ActivityResource\Pages;
|
||||
use App\Models\ActivityLog;
|
||||
use App\Models\Permission;
|
||||
use App\Models\Role;
|
||||
@ -46,7 +45,7 @@ class ActivityResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 8;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-stack';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-stack';
|
||||
|
||||
protected static bool $isScopedToTenant = false;
|
||||
|
||||
|
@ -4,7 +4,6 @@ namespace App\Filament\Server\Resources;
|
||||
|
||||
use App\Filament\Server\Resources\AllocationResource\Pages\ListAllocations;
|
||||
use App\Facades\Activity;
|
||||
use App\Filament\Server\Resources\AllocationResource\Pages;
|
||||
use App\Models\Allocation;
|
||||
use App\Models\Permission;
|
||||
use App\Models\Server;
|
||||
@ -38,7 +37,7 @@ class AllocationResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 7;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-network';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-network';
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
|
@ -6,7 +6,6 @@ use App\Filament\Server\Resources\BackupResource\Pages\ListBackups;
|
||||
use App\Enums\BackupStatus;
|
||||
use App\Enums\ServerState;
|
||||
use App\Facades\Activity;
|
||||
use App\Filament\Server\Resources\BackupResource\Pages;
|
||||
use App\Http\Controllers\Api\Client\Servers\BackupController;
|
||||
use App\Models\Backup;
|
||||
use App\Models\Permission;
|
||||
@ -56,7 +55,7 @@ class BackupResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 3;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-file-zip';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-file-zip';
|
||||
|
||||
protected static bool $canCreateAnother = false;
|
||||
|
||||
@ -78,7 +77,7 @@ class BackupResource extends Resource
|
||||
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $form
|
||||
return $schema
|
||||
->schema([
|
||||
TextInput::make('name')
|
||||
->label('Name')
|
||||
|
@ -5,7 +5,6 @@ namespace App\Filament\Server\Resources;
|
||||
use App\Filament\Server\Resources\DatabaseResource\Pages\ListDatabases;
|
||||
use App\Filament\Components\Forms\Actions\RotateDatabasePasswordAction;
|
||||
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
||||
use App\Filament\Server\Resources\DatabaseResource\Pages;
|
||||
use App\Models\Database;
|
||||
use App\Models\Permission;
|
||||
use App\Models\Server;
|
||||
@ -41,7 +40,7 @@ class DatabaseResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 6;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-database';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-database';
|
||||
|
||||
protected static function getBadgeCount(): int
|
||||
{
|
||||
|
@ -6,7 +6,6 @@ use App\Filament\Server\Resources\FileResource\Pages\EditFiles;
|
||||
use App\Filament\Server\Resources\FileResource\Pages\SearchFiles;
|
||||
use App\Filament\Server\Resources\FileResource\Pages\DownloadFiles;
|
||||
use App\Filament\Server\Resources\FileResource\Pages\ListFiles;
|
||||
use App\Filament\Server\Resources\FileResource\Pages;
|
||||
use App\Models\File;
|
||||
use App\Models\Permission;
|
||||
use App\Traits\Filament\BlockAccessInConflict;
|
||||
@ -27,7 +26,7 @@ class FileResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 2;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-files';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-files';
|
||||
|
||||
protected static bool $isScopedToTenant = false;
|
||||
|
||||
|
@ -8,7 +8,6 @@ use App\Filament\Server\Resources\ScheduleResource\Pages\ViewSchedule;
|
||||
use App\Filament\Server\Resources\ScheduleResource\Pages\EditSchedule;
|
||||
use App\Facades\Activity;
|
||||
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
||||
use App\Filament\Server\Resources\ScheduleResource\Pages;
|
||||
use App\Filament\Server\Resources\ScheduleResource\RelationManagers\TasksRelationManager;
|
||||
use App\Helpers\Utilities;
|
||||
use App\Models\Permission;
|
||||
@ -57,7 +56,7 @@ class ScheduleResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 4;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-clock';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-clock';
|
||||
|
||||
public static function canViewAny(): bool
|
||||
{
|
||||
@ -82,7 +81,7 @@ class ScheduleResource extends Resource
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->columns([
|
||||
|
@ -3,7 +3,6 @@
|
||||
namespace App\Filament\Server\Resources;
|
||||
|
||||
use App\Filament\Server\Resources\UserResource\Pages\ListUsers;
|
||||
use App\Filament\Server\Resources\UserResource\Pages;
|
||||
use App\Models\Permission;
|
||||
use App\Models\Server;
|
||||
use App\Models\User;
|
||||
@ -46,7 +45,7 @@ class UserResource extends Resource
|
||||
|
||||
protected static ?int $navigationSort = 5;
|
||||
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'tabler-users';
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'tabler-users';
|
||||
|
||||
protected static ?string $tenantOwnershipRelationshipName = 'subServers';
|
||||
|
||||
|
@ -8,19 +8,18 @@ use Filament\Notifications\Concerns\HasId;
|
||||
use Filament\Notifications\Concerns\HasStatus;
|
||||
use Filament\Notifications\Concerns\HasTitle;
|
||||
use Closure;
|
||||
use Filament\Notifications\Concerns;
|
||||
use Filament\Support\Concerns\EvaluatesClosures;
|
||||
use Illuminate\Support\Str;
|
||||
use Livewire\Wireable;
|
||||
|
||||
final class AlertBanner implements Wireable
|
||||
{
|
||||
use EvaluatesClosures;
|
||||
use HasBody;
|
||||
use HasIcon;
|
||||
use HasId;
|
||||
use HasStatus;
|
||||
use HasTitle;
|
||||
use EvaluatesClosures;
|
||||
|
||||
protected bool|Closure $closable = false;
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Livewire\Installer\Steps;
|
||||
|
||||
use Exception;
|
||||
use Filament\Schemas\Components\Wizard\Step;
|
||||
use App\Livewire\Installer\PanelInstaller;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
@ -9,7 +10,6 @@ use Filament\Forms\Components\Toggle;
|
||||
use Filament\Forms\Components\ToggleButtons;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Illuminate\Support\HtmlString;
|
||||
use Webbingbrasil\FilamentCopyActions\Forms\Actions\CopyAction;
|
||||
|
||||
class QueueStep
|
||||
{
|
||||
@ -19,6 +19,9 @@ class QueueStep
|
||||
'sync' => 'Sync',
|
||||
];
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function make(PanelInstaller $installer): Step
|
||||
{
|
||||
return Step::make('queue')
|
||||
@ -45,14 +48,14 @@ class QueueStep
|
||||
TextInput::make('crontab')
|
||||
->label(new HtmlString('Run the following command to set up your crontab. Note that <code>www-data</code> is your webserver user. On some systems this username might be different!'))
|
||||
->disabled()
|
||||
->hintAction(fn () => request()->isSecure() ? CopyAction::make() : null)
|
||||
//TODO ->hintAction(fn () => request()->isSecure() ? CopyAction::make() : null)
|
||||
->default('(crontab -l -u www-data 2>/dev/null; echo "* * * * * php ' . base_path() . '/artisan schedule:run >> /dev/null 2>&1") | crontab -u www-data -')
|
||||
->hidden(fn () => @file_exists('/.dockerenv'))
|
||||
->columnSpanFull(),
|
||||
TextInput::make('queueService')
|
||||
->label(new HtmlString('To setup the queue worker service you simply have to run the following command.'))
|
||||
->disabled()
|
||||
->hintAction(fn () => request()->isSecure() ? CopyAction::make() : null)
|
||||
//TODO ->hintAction(fn () => request()->isSecure() ? CopyAction::make() : null)
|
||||
->default('sudo php ' . base_path() . '/artisan p:environment:queue-service')
|
||||
->hidden(fn () => @file_exists('/.dockerenv'))
|
||||
->columnSpanFull(),
|
||||
|
@ -97,7 +97,7 @@ class Backup extends Model implements Validatable
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Builder $query
|
||||
* @param Builder $query
|
||||
* @return BackupQueryBuilder<Model>
|
||||
*/
|
||||
public function newEloquentBuilder($query): BackupQueryBuilder
|
||||
|
@ -347,7 +347,7 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac
|
||||
* this checks if the ability is one of our permissions and then checks if the user can do it or not
|
||||
* Otherwise it calls the Authorizable trait's parent method
|
||||
*
|
||||
* @param iterable<string|BackedEnum>|BackedEnum|string $abilities
|
||||
* @param iterable<string|BackedEnum>|BackedEnum|string $abilities
|
||||
* @param array<mixed>|mixed $arguments
|
||||
*/
|
||||
public function can($abilities, mixed $arguments = []): bool
|
||||
|
@ -25,7 +25,6 @@ use App\Checks\UsedDiskSpaceCheck;
|
||||
use App\Extensions\Avatar\Providers\GravatarProvider;
|
||||
use App\Extensions\Avatar\Providers\UiAvatarsProvider;
|
||||
use App\Extensions\OAuth\Providers\GitlabProvider;
|
||||
use App\Models;
|
||||
use App\Extensions\Captcha\Providers\TurnstileProvider;
|
||||
use App\Extensions\Features\GSLToken;
|
||||
use App\Extensions\Features\JavaVersion;
|
||||
|
@ -11,7 +11,7 @@ class Port implements ValidationRule
|
||||
/**
|
||||
* Run the validation rule.
|
||||
*
|
||||
* @param Closure(string):PotentiallyTranslatedString $fail
|
||||
* @param Closure(string):PotentiallyTranslatedString $fail
|
||||
*/
|
||||
public function validate(string $attribute, mixed $value, Closure $fail): void
|
||||
{
|
||||
|
@ -15,12 +15,12 @@ trait CanModifyForm
|
||||
static::$customFormModifications[] = $closure;
|
||||
}
|
||||
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return $schema;
|
||||
}
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
public static function defaultForm(Schema $schema): Schema
|
||||
{
|
||||
$schema = static::defaultForm($schema);
|
||||
|
||||
|
@ -15,7 +15,7 @@ trait ValidatesValidationRules
|
||||
/**
|
||||
* Validate that the rules being provided are valid and can be resolved.
|
||||
*
|
||||
* @param string[]|string|ValidationRule[] $rules
|
||||
* @param string[]|string|ValidationRule[] $rules
|
||||
*
|
||||
* @throws BadValidationRuleException
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user