diff --git a/app/Filament/Admin/Pages/Settings.php b/app/Filament/Admin/Pages/Settings.php index 424b4a795..a3fa67972 100644 --- a/app/Filament/Admin/Pages/Settings.php +++ b/app/Filament/Admin/Pages/Settings.php @@ -830,13 +830,14 @@ class Settings extends Page implements HasSchemas ->formatStateUsing(fn ($state): bool => (bool) $state) ->afterStateUpdated(fn ($state, Set $set) => $set('PANEL_EDITABLE_SERVER_DESCRIPTIONS', (bool) $state)) ->default(env('PANEL_EDITABLE_SERVER_DESCRIPTIONS', config('panel.editable_server_descriptions'))), - FileUpload::make('ConsoleFonts') + FileUpload::make('console_font') ->hint(trans('admin/setting.misc.server.console_font_hint')) ->label(trans('admin/setting.misc.server.console_font_upload')) ->directory('fonts') ->disk('public') ->columnSpan(1) ->maxFiles(1) + ->acceptedFileTypes(['font/*']) ->preserveFilenames(), ]), Section::make(trans('admin/setting.misc.webhook.title')) @@ -864,9 +865,11 @@ class Settings extends Page implements HasSchemas public function save(): void { + abort_unless(user()?->can('update settings'), 403); + try { $data = $this->form->getState(); - unset($data['ConsoleFonts']); + unset($data['console_font']); $data = array_map(function ($value) { // Convert bools to a string, so they are correctly written to the .env file