From 9534dcead64fcafeea924490b4b68da0f615920c Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Sun, 21 Aug 2022 16:37:22 +0800 Subject: [PATCH] [admin] delete exam also delete user and progress --- app/Filament/Resources/System/ExamResource.php | 7 ++++++- .../System/ExamResource/Pages/CreateExam.php | 4 ++-- .../System/SettingResource/Pages/EditSetting.php | 13 +++++++------ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/Filament/Resources/System/ExamResource.php b/app/Filament/Resources/System/ExamResource.php index d97f33ea..51369b67 100644 --- a/app/Filament/Resources/System/ExamResource.php +++ b/app/Filament/Resources/System/ExamResource.php @@ -6,6 +6,7 @@ use App\Filament\OptionsTrait; use App\Filament\Resources\System\ExamResource\Pages; use App\Filament\Resources\System\ExamResource\RelationManagers; use App\Models\Exam; +use App\Repositories\ExamRepository; use App\Repositories\UserRepository; use Filament\Forms; use Filament\Resources\Form; @@ -131,9 +132,13 @@ class ExamResource extends Resource ]) ->actions([ Tables\Actions\EditAction::make(), + Tables\Actions\DeleteAction::make()->using(function ($record) { + $rep = new ExamRepository(); + $rep->delete($record->id); + }), ]) ->bulkActions([ - Tables\Actions\DeleteBulkAction::make(), +// Tables\Actions\DeleteBulkAction::make(), ]); } diff --git a/app/Filament/Resources/System/ExamResource/Pages/CreateExam.php b/app/Filament/Resources/System/ExamResource/Pages/CreateExam.php index 897b48b7..a3b2f548 100644 --- a/app/Filament/Resources/System/ExamResource/Pages/CreateExam.php +++ b/app/Filament/Resources/System/ExamResource/Pages/CreateExam.php @@ -14,7 +14,6 @@ class CreateExam extends CreateRecord public function create(bool $another = false): void { $data = $this->form->getState(); -// dd($data); $examRep = new ExamRepository(); try { $this->record = $examRep->store($data); @@ -28,9 +27,10 @@ class CreateExam extends CreateRecord return; } - $this->redirect($this->getRedirectUrl()); + $this->redirect($this->getResource()::getUrl('index')); } catch (\Exception $exception) { $this->notify('danger', $exception->getMessage()); } } + } diff --git a/app/Filament/Resources/System/SettingResource/Pages/EditSetting.php b/app/Filament/Resources/System/SettingResource/Pages/EditSetting.php index 99a84b5c..c65d8386 100644 --- a/app/Filament/Resources/System/SettingResource/Pages/EditSetting.php +++ b/app/Filament/Resources/System/SettingResource/Pages/EditSetting.php @@ -6,6 +6,7 @@ use App\Filament\OptionsTrait; use App\Filament\Resources\System\SettingResource; use App\Models\HitAndRun; use App\Models\Setting; +use Filament\Facades\Filament; use Filament\Forms\ComponentContainer; use Filament\Forms\Concerns\InteractsWithForms; use Filament\Resources\Pages\Concerns\InteractsWithRecord; @@ -31,10 +32,13 @@ class EditSetting extends Page implements Forms\Contracts\HasForms public function mount() { static::authorizeResourceAccess(); + $this->fillForm(); + } + private function fillForm() + { $settings = Setting::get(); $this->form->fill($settings); - } protected function getFormSchema(): array @@ -73,12 +77,9 @@ class EditSetting extends Page implements Forms\Contracts\HasForms } } - Setting::query()->upsert($data, ['name'], ['value']); - NexusDB::cache_del('nexus_settings_in_laravel'); - NexusDB::cache_del('nexus_settings_in_nexus'); - - $this->notify('success', __('filament::resources/pages/edit-record.messages.saved')); + clear_setting_cache(); + Filament::notify('success', __('filament::resources/pages/edit-record.messages.saved'), true); } private function getTabs(): array