[admin] delete exam also delete user and progress

This commit is contained in:
xiaomlove
2022-08-21 16:37:22 +08:00
parent a174425e70
commit 9534dcead6
3 changed files with 15 additions and 9 deletions

View File

@@ -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(),
]);
}

View File

@@ -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());
}
}
}

View File

@@ -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