This commit is contained in:
Ralph J. Smit
2023-09-28 12:15:55 +02:00
parent 7f6b59cd4f
commit 51b7f28634
38 changed files with 200 additions and 201 deletions

View File

@@ -2,10 +2,10 @@
namespace App\Actions\Server;
use Throwable;
use App\Models\Server;
use App\Services\Ploi\Ploi;
use Filament\Notifications\Notification;
use Throwable;
class SynchronizeServerAction
{

View File

@@ -2,8 +2,8 @@
namespace App\Actions\Site;
use App\Models\Server;
use App\Models\Site;
use App\Models\Server;
use App\Services\Ploi\Ploi;
use Filament\Notifications\Notification;

View File

@@ -2,18 +2,18 @@
namespace App\Console\Commands\Core;
use App\Models\Package;
use App\Models\User;
use App\Services\Ploi\Ploi;
use App\Services\VersionChecker;
use Exception;
use Illuminate\Console\Command;
use App\Models\User;
use RuntimeException;
use App\Models\Package;
use App\Services\Ploi\Ploi;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Str;
use Illuminate\Console\Command;
use App\Services\VersionChecker;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Str;
use RuntimeException;
use Illuminate\Support\Facades\Artisan;
class Install extends Command
{

View File

@@ -2,17 +2,16 @@
namespace App\Filament\Pages;
use App\Models\Package;
use App\Models\Server;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Notifications\Notification;
use App\Models\Server;
use App\Models\Package;
use Filament\Pages\Page;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\HtmlString;
use Illuminate\Support\Str;
use Illuminate\Support\HtmlString;
use Illuminate\Support\Facades\Storage;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
use Filament\Forms\Components\Actions\Action;
class Settings extends Page
{
@@ -70,11 +69,11 @@ class Settings extends Page
])
->columnSpan(2),
Forms\Components\Select::make('default_package')
->options(fn() => Package::orderBy('name')->pluck('name', 'id'))
->options(fn () => Package::orderBy('name')->pluck('name', 'id'))
->label(__('Select default package'))
->helperText(__('Select the default package a user should get when you create or they register')),
Forms\Components\Select::make('default_language')
->options(collect(languages())->mapWithKeys(fn(string $language) => [$language => $language]))
->options(collect(languages())->mapWithKeys(fn (string $language) => [$language => $language]))
->label('Select default language')
->helperText('Select the default language a user should get when you create or they register'),
Forms\Components\FileUpload::make('logo')

View File

@@ -2,9 +2,9 @@
namespace App\Filament\Pages;
use Filament\Pages\Page;
use App\Services\VersionChecker;
use Filament\Notifications\Notification;
use Filament\Pages\Page;
use Laravel\Horizon\Contracts\MasterSupervisorRepository;
class System extends Page
@@ -39,7 +39,7 @@ class System extends Page
public function getHorizonWorkerStatus(): bool
{
return rescue(fn() => (bool)app(MasterSupervisorRepository::class)->all(), false, false);
return rescue(fn () => (bool)app(MasterSupervisorRepository::class)->all(), false, false);
}
public function hasAvailableUpdate(): bool

View File

@@ -2,11 +2,11 @@
namespace App\Filament\Pages;
use Filament\Actions;
use Filament\Forms;
use Filament\Notifications\Notification;
use Filament\Actions;
use Filament\Pages\Page;
use Illuminate\Support\Str;
use Filament\Notifications\Notification;
class Terms extends Page
{

View File

@@ -2,15 +2,15 @@
namespace App\Filament\Resources;
use App\Filament\Resources\AlertResource\Pages;
use App\Models\Alert;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use App\Models\Alert;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Illuminate\Support\HtmlString;
use Illuminate\Support\Str;
use Filament\Resources\Resource;
use Illuminate\Support\HtmlString;
use App\Filament\Resources\AlertResource\Pages;
class AlertResource extends Resource
{
@@ -52,11 +52,11 @@ class AlertResource extends Resource
->columns([
Tables\Columns\TextColumn::make('message')
->label(__('Content'))
->formatStateUsing(fn(?string $state) => new HtmlString(Str::markdown($state))),
->formatStateUsing(fn (?string $state) => new HtmlString(Str::markdown($state))),
Tables\Columns\TextColumn::make('type')
->label(__('Type'))
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Alert::TYPE_INFO => __('Informational'),
Alert::TYPE_WARNING => __('Warning'),
Alert::TYPE_DANGER => __('Danger'),

View File

@@ -2,15 +2,15 @@
namespace App\Filament\Resources;
use App\Filament\Resources\CertificateResource\Pages;
use App\Models\Certificate;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use App\Models\Certificate;
use Filament\Resources\Resource;
use Illuminate\Support\HtmlString;
use Illuminate\Database\Eloquent\Builder;
use App\Filament\Resources\CertificateResource\Pages;
class CertificateResource extends Resource
{
@@ -51,7 +51,7 @@ class CertificateResource extends Resource
->label('Type'),
Tables\Columns\TextColumn::make('status')
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Certificate::STATUS_BUSY => __('Busy'),
Certificate::STATUS_ACTIVE => __('Active'),
})

View File

@@ -2,12 +2,12 @@
namespace App\Filament\Resources;
use App\Filament\Resources\CronjobResource\Pages;
use Filament\Tables;
use App\Models\Cronjob;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use App\Filament\Resources\CronjobResource\Pages;
class CronjobResource extends Resource
{
@@ -36,7 +36,7 @@ class CronjobResource extends Resource
->label(__('Site')),
Tables\Columns\TextColumn::make('status')
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Cronjob::STATUS_BUSY => __('Busy'),
Cronjob::STATUS_ACTIVE => __('Active'),
})

View File

@@ -2,12 +2,12 @@
namespace App\Filament\Resources;
use App\Filament\Resources\DatabaseResource\Pages;
use Filament\Tables;
use App\Models\Database;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use App\Filament\Resources\DatabaseResource\Pages;
class DatabaseResource extends Resource
{
@@ -42,7 +42,7 @@ class DatabaseResource extends Resource
->searchable(),
Tables\Columns\TextColumn::make('status')
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Database::STATUS_BUSY => __('Busy'),
Database::STATUS_ACTIVE => __('Active'),
})

View File

@@ -2,14 +2,14 @@
namespace App\Filament\Resources\DatabaseResource\Pages;
use App\Filament\Resources\DatabaseResource;
use App\Mail\Database\PasswordReset;
use App\Models\Database;
use App\Services\Ploi\Ploi;
use Filament\Resources\Pages\Page;
use App\Mail\Database\PasswordReset;
use Illuminate\Support\Facades\Mail;
use Filament\Forms\Components\Toggle;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\Page;
use Illuminate\Support\Facades\Mail;
use App\Filament\Resources\DatabaseResource;
class EditDatabase extends Page
{

View File

@@ -2,16 +2,16 @@
namespace App\Filament\Resources;
use Filament\Forms;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Illuminate\Support\Str;
use Filament\Resources\Resource;
use Illuminate\Support\HtmlString;
use App\Models\DocumentationCategory;
use App\Filament\Resources\DocumentationCategoryResource\Pages;
use App\Filament\Resources\DocumentationCategoryResource\RelationManagers;
use App\Models\DocumentationCategory;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Support\HtmlString;
use Illuminate\Support\Str;
class DocumentationCategoryResource extends Resource
{
@@ -58,7 +58,7 @@ class DocumentationCategoryResource extends Resource
->label(__('Title')),
Tables\Columns\TextColumn::make('description')
->label(__('Description'))
->formatStateUsing(fn(string $state) => new HtmlString(Str::markdown($state))),
->formatStateUsing(fn (string $state) => new HtmlString(Str::markdown($state))),
]);
}

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources;
use App\Filament\Resources\DocumentationItemResource\Pages;
use App\Models\DocumentationItem;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use App\Models\DocumentationItem;
use App\Filament\Resources\DocumentationItemResource\Pages;
class DocumentationItemResource extends Resource
{

View File

@@ -2,14 +2,14 @@
namespace App\Filament\Resources;
use Filament\Forms;
use Filament\Tables;
use App\Models\Package;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use App\Filament\Resources\PackageResource\Pages;
use App\Filament\Resources\PackageResource\RelationManagers;
use App\Models\Package;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
class PackageResource extends Resource
{
@@ -126,10 +126,10 @@ class PackageResource extends Resource
return "Attached to stripe - {$record->price_monthly} {$record->currency}";
}),
Tables\Columns\TextColumn::make('maximum_sites')
->formatStateUsing(fn(int $state) => $state === 0 ? __('Unlimited') : $state)
->formatStateUsing(fn (int $state) => $state === 0 ? __('Unlimited') : $state)
->label(__('Maximum sites')),
Tables\Columns\TextColumn::make('maximum_servers')
->formatStateUsing(fn(int $state) => $state === 0 ? __('Unlimited') : $state)
->formatStateUsing(fn (int $state) => $state === 0 ? __('Unlimited') : $state)
->label(__('Maximum servers')),
Tables\Columns\TextColumn::make('users_count')
->counts('users'),

View File

@@ -2,14 +2,14 @@
namespace App\Filament\Resources;
use App\Filament\Resources\ProviderPlanResource\Pages;
use App\Models\Provider;
use App\Models\ProviderPlan;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use App\Models\Provider;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Models\ProviderPlan;
use Filament\Resources\Resource;
use App\Filament\Resources\ProviderPlanResource\Pages;
class ProviderPlanResource extends Resource
{
@@ -53,7 +53,7 @@ class ProviderPlanResource extends Resource
->filters([
Tables\Filters\SelectFilter::make('provider_id')
->label(__('Provider'))
->options(fn() => Provider::orderBy('name')->get()->mapWithKeys(fn(Provider $provider) => [$provider->id => $provider->name])),
->options(fn () => Provider::orderBy('name')->get()->mapWithKeys(fn (Provider $provider) => [$provider->id => $provider->name])),
])
->actions([
Tables\Actions\EditAction::make(),

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources;
use App\Filament\Resources\ProviderRegionResource\Pages;
use App\Models\Provider;
use App\Models\ProviderRegion;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use App\Models\Provider;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Models\ProviderRegion;
use Filament\Resources\Resource;
use App\Filament\Resources\ProviderRegionResource\Pages;
class ProviderRegionResource extends Resource
{
@@ -48,7 +48,7 @@ class ProviderRegionResource extends Resource
->filters([
Tables\Filters\SelectFilter::make('provider_id')
->label(__('Provider'))
->options(fn() => Provider::orderBy('name')->pluck('name', 'id'))
->options(fn () => Provider::orderBy('name')->pluck('name', 'id'))
])
->actions([
//

View File

@@ -2,18 +2,18 @@
namespace App\Filament\Resources;
use App\Actions\Provider\SynchronizeProviderAction;
use App\Filament\Resources\ProviderResource\Pages;
use App\Filament\Resources\ProviderResource\Widgets\AvailableProvidersOverview;
use App\Models\Provider;
use App\Models\ProviderPlan;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Notifications\Notification;
use Filament\Resources\Resource;
use Filament\Tables;
use App\Models\Provider;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Models\ProviderPlan;
use Filament\Resources\Resource;
use Filament\Notifications\Notification;
use Illuminate\Database\Eloquent\Builder;
use App\Filament\Resources\ProviderResource\Pages;
use App\Actions\Provider\SynchronizeProviderAction;
use App\Filament\Resources\ProviderResource\Widgets\AvailableProvidersOverview;
class ProviderResource extends Resource
{
@@ -35,11 +35,11 @@ class ProviderResource extends Resource
->columnSpan(2),
Forms\Components\CheckboxList::make('allowed_plans')
->options(function (Provider $record) {
return $record->plans->mapWithKeys(fn(ProviderPlan $plan) => [$plan->id => $plan->label ?? $plan->plan_id]);
return $record->plans->mapWithKeys(fn (ProviderPlan $plan) => [$plan->id => $plan->label ?? $plan->plan_id]);
})
->label(__('Allowed Plans')),
Forms\Components\CheckboxList::make('allowed_regions')
->options(fn(Provider $record) => $record->regions->pluck('label', 'id'))
->options(fn (Provider $record) => $record->regions->pluck('label', 'id'))
->label(__('Allowed Regions')),
]);
}

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources\ProviderResource\Widgets;
use App\Actions\Provider\SynchronizeProviderAction;
use App\Models\AvailableProvider;
use Filament\Notifications\Notification;
use Filament\Widgets\TableWidget;
use Filament\Tables\Actions\Action;
use Filament\Tables\Columns\TextColumn;
use Filament\Widgets\TableWidget;
use Filament\Notifications\Notification;
use Illuminate\Database\Eloquent\Builder;
use App\Actions\Provider\SynchronizeProviderAction;
use Illuminate\Database\Eloquent\Relations\Relation;
class AvailableProvidersOverview extends TableWidget

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources;
use App\Filament\Resources\RedirectResource\Pages;
use App\Models\Redirect;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use App\Models\Redirect;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use App\Filament\Resources\RedirectResource\Pages;
class RedirectResource extends Resource
{
@@ -56,7 +56,7 @@ class RedirectResource extends Resource
->label(__('Type')),
Tables\Columns\TextColumn::make('status')
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Redirect::STATUS_BUSY => __('Busy'),
Redirect::STATUS_ACTIVE => __('Active'),
})

View File

@@ -2,18 +2,18 @@
namespace App\Filament\Resources;
use Filament\Forms;
use App\Models\User;
use Filament\Tables;
use App\Models\Server;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use Illuminate\Support\HtmlString;
use Illuminate\Database\Eloquent\Builder;
use App\Actions\Server\SynchronizeServerAction;
use App\Filament\Resources\ServerResource\Pages;
use App\Filament\Resources\ServerResource\RelationManagers;
use App\Models\Server;
use App\Models\User;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\HtmlString;
class ServerResource extends Resource
{
@@ -64,7 +64,7 @@ class ServerResource extends Resource
Tables\Columns\TextColumn::make('status')
->label(__('Status'))
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Server::STATUS_BUSY => __('Busy'),
Server::STATUS_ACTIVE => __('Active'),
})
@@ -94,7 +94,7 @@ class ServerResource extends Resource
}),
Tables\Columns\TextColumn::make('maximum_sites')
->label(__('Max sites'))
->formatStateUsing(fn(Server $record) => $record->maximum_sites . " (Current: {$record->sites_count})")
->formatStateUsing(fn (Server $record) => $record->maximum_sites . " (Current: {$record->sites_count})")
->counts('sites'),
Tables\Columns\TextColumn::make('ip')
->label(__('IP')),
@@ -111,8 +111,8 @@ class ServerResource extends Resource
->label(__('Synchronize'))
->tooltip(__('This will synchronize the latest data from this provider to your Ploi Core installation'))
->icon('heroicon-o-arrow-path')
->action(fn(Server $record) => app(SynchronizeServerAction::class)->execute($record->ploi_id))
->visible(fn(Server $record) => $record->status === Server::STATUS_ACTIVE),
->action(fn (Server $record) => app(SynchronizeServerAction::class)->execute($record->ploi_id))
->visible(fn (Server $record) => $record->status === Server::STATUS_ACTIVE),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([

View File

@@ -2,9 +2,9 @@
namespace App\Filament\Resources\ServerResource\Pages;
use App\Filament\Resources\ServerResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use App\Filament\Resources\ServerResource;
class ListServers extends ListRecords
{

View File

@@ -2,12 +2,12 @@
namespace App\Filament\Resources\ServerResource\Pages;
use App\Filament\Resources\ServerResource;
use Filament\Actions;
use App\Models\Server;
use App\Services\Ploi\Ploi;
use Filament\Notifications\Notification;
use Filament\Actions;
use Filament\Resources\Pages\Page;
use Filament\Notifications\Notification;
use App\Filament\Resources\ServerResource;
class SynchronizeServers extends Page
{

View File

@@ -2,11 +2,11 @@
namespace App\Filament\Resources\ServerResource\RelationManagers;
use App\Filament\Resources\UserResource;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Filament\Resources\UserResource;
use Filament\Resources\RelationManagers\RelationManager;
class UsersRelationManager extends RelationManager
{

View File

@@ -2,18 +2,18 @@
namespace App\Filament\Resources;
use Filament\Forms;
use App\Models\Site;
use App\Models\User;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use Illuminate\Support\HtmlString;
use Illuminate\Database\Eloquent\Builder;
use App\Actions\Site\SynchronizeSiteAction;
use App\Filament\Resources\SiteResource\Pages;
use App\Filament\Resources\SiteResource\RelationManagers;
use App\Models\Site;
use App\Models\User;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\HtmlString;
class SiteResource extends Resource
{
@@ -67,7 +67,7 @@ class SiteResource extends Resource
->searchable(),
Tables\Columns\TextColumn::make('status')
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
Site::STATUS_BUSY => __('Busy'),
Site::STATUS_ACTIVE => __('Active'),
})
@@ -113,7 +113,7 @@ class SiteResource extends Resource
->action(function (Site $record) {
app(SynchronizeSiteAction::class)->execute($record->server->ploi_id, $record->ploi_id);
})
->visible(fn(Site $record) => $record->status === Site::STATUS_ACTIVE),
->visible(fn (Site $record) => $record->status === Site::STATUS_ACTIVE),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([

View File

@@ -2,9 +2,9 @@
namespace App\Filament\Resources\SiteResource\Pages;
use App\Filament\Resources\SiteResource;
use App\Traits\HasPloi;
use Filament\Actions;
use App\Traits\HasPloi;
use App\Filament\Resources\SiteResource;
use Filament\Resources\Pages\ListRecords;
class ListSites extends ListRecords

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources\SiteResource\Pages;
use App\Filament\Resources\SiteResource;
use App\Models\Server;
use App\Models\Site;
use App\Services\Ploi\Ploi;
use Filament\Notifications\Notification;
use Filament\Actions;
use App\Models\Server;
use App\Services\Ploi\Ploi;
use Filament\Resources\Pages\Page;
use App\Filament\Resources\SiteResource;
use Filament\Notifications\Notification;
class SynchronizeSites extends Page
{

View File

@@ -2,11 +2,11 @@
namespace App\Filament\Resources\SiteResource\RelationManagers;
use App\Filament\Resources\UserResource;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Filament\Resources\UserResource;
use Filament\Resources\RelationManagers\RelationManager;
class UsersRelationManager extends RelationManager
{

View File

@@ -2,12 +2,12 @@
namespace App\Filament\Resources;
use App\Filament\Resources\SubscriptionResource\Pages;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use Laravel\Cashier\Subscription;
use App\Filament\Resources\SubscriptionResource\Pages;
class SubscriptionResource extends Resource
{
@@ -36,7 +36,7 @@ class SubscriptionResource extends Resource
->columns([
Tables\Columns\TextColumn::make('user.name')
->searchable()
->url(fn($record) => UserResource::getUrl('edit', ['record' => $record])),
->url(fn ($record) => UserResource::getUrl('edit', ['record' => $record])),
Tables\Columns\TextColumn::make('stripe_id')->searchable(),
Tables\Columns\TextColumn::make('stripe_plan')->searchable(),
Tables\Columns\TextColumn::make('stripe_status')

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources;
use App\Filament\Resources\SupportTicketResource\Pages;
use App\Models\SupportTicket;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use App\Models\SupportTicket;
use Filament\Resources\Resource;
use Illuminate\Database\Eloquent\Builder;
use App\Filament\Resources\SupportTicketResource\Pages;
class SupportTicketResource extends Resource
{
@@ -47,7 +47,7 @@ class SupportTicketResource extends Resource
Tables\Columns\TextColumn::make('status')
->label(__('Status'))
->badge()
->formatStateUsing(fn(string $state) => match ($state) {
->formatStateUsing(fn (string $state) => match ($state) {
SupportTicket::STATUS_OPEN => __('Open'),
SupportTicket::STATUS_CLOSED => __('Closed'),
SupportTicket::STATUS_CUSTOMER_REPLY => __('Customer Reply'),
@@ -63,7 +63,7 @@ class SupportTicketResource extends Resource
->sortable(),
Tables\Columns\TextColumn::make('replies_count')
->label(__('Replies'))
->getStateUsing(fn(SupportTicket $record) => $record->replies->count()),
->getStateUsing(fn (SupportTicket $record) => $record->replies->count()),
Tables\Columns\TextColumn::make('user.name')
->searchable()
->sortable(),

View File

@@ -2,15 +2,15 @@
namespace App\Filament\Resources\SupportTicketResource\Pages;
use App\Filament\Resources\SupportTicketResource;
use App\Mail\Support\TicketRepliedToEmail;
use App\Models\SupportTicket;
use Filament\Forms\Components\MarkdownEditor;
use Filament\Notifications\Notification;
use Filament\Actions;
use App\Models\SupportTicket;
use Filament\Resources\Pages\Page;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
use Filament\Notifications\Notification;
use App\Mail\Support\TicketRepliedToEmail;
use Filament\Forms\Components\MarkdownEditor;
use App\Filament\Resources\SupportTicketResource;
class ViewSupportTicket extends Page
{
@@ -47,7 +47,7 @@ class ViewSupportTicket extends Page
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->getRecord()]));
})
->visible(fn(self $livewire) => $livewire->record->status !== SupportTicket::STATUS_CLOSED)
->visible(fn (self $livewire) => $livewire->record->status !== SupportTicket::STATUS_CLOSED)
->color('danger'),
Actions\Action::make('reopen')
->label(__('Reopen'))
@@ -62,7 +62,7 @@ class ViewSupportTicket extends Page
$livewire->redirect(SupportTicketResource::getUrl('view', ['record' => $livewire->getRecord()]));
})
->visible(fn(self $livewire) => $livewire->record->status === SupportTicket::STATUS_CLOSED)
->visible(fn (self $livewire) => $livewire->record->status === SupportTicket::STATUS_CLOSED)
->color('primary'),
];
}

View File

@@ -2,15 +2,15 @@
namespace App\Filament\Resources;
use Filament\Forms;
use App\Models\User;
use Filament\Tables;
use Filament\Forms\Form;
use Filament\Tables\Table;
use Filament\Resources\Resource;
use STS\FilamentImpersonate\Impersonate;
use App\Filament\Resources\UserResource\Pages;
use App\Filament\Resources\UserResource\RelationManagers;
use App\Models\User;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use STS\FilamentImpersonate\Impersonate;
class UserResource extends Resource
{
@@ -63,7 +63,7 @@ class UserResource extends Resource
Forms\Components\Select::make('language')
->label(__('Language'))
->default('en')
->options(collect(languages())->mapWithKeys(fn(string $language) => [$language => $language])),
->options(collect(languages())->mapWithKeys(fn (string $language) => [$language => $language])),
Forms\Components\Textarea::make('notes')
->label(__('Notes'))
->maxLength(65535),
@@ -109,7 +109,7 @@ class UserResource extends Resource
->actions([
Impersonate::make('impersonate')
->tooltip('Login as this user (impersonate)')
->visible(fn() => config('core.impersonation')),
->visible(fn () => config('core.impersonation')),
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])

View File

@@ -2,13 +2,13 @@
namespace App\Filament\Resources\UserResource\Pages;
use App\Actions\User\DeleteUserAction;
use App\Filament\Resources\UserResource;
use Filament\Forms\Components\Toggle;
use Filament\Notifications\Notification;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
use Filament\Forms\Components\Toggle;
use App\Actions\User\DeleteUserAction;
use Illuminate\Database\Eloquent\Model;
use App\Filament\Resources\UserResource;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\EditRecord;
class EditUser extends EditRecord
{
@@ -36,7 +36,7 @@ class EditUser extends EditRecord
->success()
->send();
})
->visible(fn() => $this->record->hasTwoFactorEnabled())
->visible(fn () => $this->record->hasTwoFactorEnabled())
->requiresConfirmation(),
Actions\Action::make('delete')
->form([

View File

@@ -2,10 +2,10 @@
namespace App\Filament\Resources\UserResource\RelationManagers;
use App\Filament\Resources\ServerResource;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables\Table;
use App\Filament\Resources\ServerResource;
use Filament\Resources\RelationManagers\RelationManager;
class ServersRelationManager extends RelationManager
{

View File

@@ -2,12 +2,12 @@
namespace App\Filament\Widgets;
use App\Filament\Resources\ServerResource;
use App\Filament\Resources\SiteResource;
use App\Filament\Resources\UserResource;
use App\Models\Server;
use App\Models\Site;
use App\Models\User;
use App\Models\Server;
use App\Filament\Resources\SiteResource;
use App\Filament\Resources\UserResource;
use App\Filament\Resources\ServerResource;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
class StatsOverview extends BaseWidget

View File

@@ -2,11 +2,11 @@
namespace App\Filament\Widgets;
use App\Models\SystemLog;
use Filament\Tables;
use App\Models\SystemLog;
use Filament\Tables\Table;
use Filament\Widgets\TableWidget as BaseWidget;
use Illuminate\Database\Eloquent\Builder;
use Filament\Widgets\TableWidget as BaseWidget;
class SystemLogs extends BaseWidget
{
@@ -15,16 +15,16 @@ class SystemLogs extends BaseWidget
public function table(Table $table): Table
{
return $table
->query(fn(): Builder => SystemLog::query()->with('model'))
->defaultSort(fn(Builder $query) => $query->latest())
->query(fn (): Builder => SystemLog::query()->with('model'))
->defaultSort(fn (Builder $query) => $query->latest())
->columns([
Tables\Columns\TextColumn::make('title')
->label(__('Title'))
->formatStateUsing(fn(SystemLog $record) => __($record->title, [
->formatStateUsing(fn (SystemLog $record) => __($record->title, [
'site' => $record->model->domain ?? '-Unknown-',
'database' => $record->model->name ?? '-Unknown-',
]))
->description(fn(SystemLog $record) => __($record->description, [
->description(fn (SystemLog $record) => __($record->description, [
'site' => $record->model->domain ?? '-Unknown-',
'database' => $record->model->name ?? '-Unknown-',
]))

View File

@@ -2,8 +2,8 @@
namespace App\Models;
use App\Casts\Encrypted;
use Filament\Panel;
use App\Casts\Encrypted;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Laravel\Cashier\Billable;

View File

@@ -2,27 +2,27 @@
namespace App\Providers\Filament;
use App\Rules\Hostname;
use Filament\Facades\Filament;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Pages;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\Support\Colors\Color;
use Filament\Widgets;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use App\Rules\Hostname;
use Filament\PanelProvider;
use Filament\Facades\Filament;
use Filament\Support\Colors\Color;
use Filament\Forms\Components\Textarea;
use Illuminate\Support\Facades\Storage;
use Filament\Forms\Components\TextInput;
use Filament\Http\Middleware\Authenticate;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\AuthenticateSession;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\Support\Facades\Storage;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Saade\FilamentLaravelLog\FilamentLaravelLogPlugin;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
class AdminPanelProvider extends PanelProvider
{
@@ -36,8 +36,8 @@ class AdminPanelProvider extends PanelProvider
->colors([
'primary' => Color::Sky,
])
->brandName(fn() => setting('name'))
->brandLogo(fn() => ($logoPath = setting('logo')) ? Storage::disk('logos')->url($logoPath) : null)
->brandName(fn () => setting('name'))
->brandLogo(fn () => ($logoPath = setting('logo')) ? Storage::disk('logos')->url($logoPath) : null)
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([