| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace App\Filament\Resources\PreQuestionCandidateResource\Pages;
- use App\Filament\Resources\PreQuestionCandidateResource;
- use App\Models\PreQuestionCandidate;
- use Filament\Resources\Pages\ListRecords;
- use Illuminate\Database\Eloquent\Builder;
- class ListPreQuestionCandidates extends ListRecords
- {
- protected static string $resource = PreQuestionCandidateResource::class;
- protected function canCreate(): bool
- {
- return false;
- }
- protected function getTableQuery(): Builder
- {
- $query = PreQuestionCandidate::query();
- $importId = request()->input('import_id');
- $user = auth()->user();
- $isAdmin = $user && in_array($user->role, ['super_admin', 'admin'], true);
- if (!empty($importId)) {
- $query->where('import_id', (int) $importId);
- } elseif (!$isAdmin) {
- // 非管理员必须通过 import_id 进入,否则不展示任何数据
- $query->whereRaw('1=0');
- }
- // 默认隐藏被新解析覆盖的记录(可通过筛选器查看)
- if (!request()->has('tableFilters.status.value')) {
- $query->where('status', '!=', PreQuestionCandidate::STATUS_SUPERSEDED);
- }
- return $query;
- }
- }
|