fix(classes): halaman Kelas default TA berjalan (36 kelas) + filter pilih tahun ajaran
This commit is contained in:
@@ -23,9 +23,11 @@ class SchoolClassController extends Controller
|
||||
public function index(Request $request): View
|
||||
{
|
||||
$search = trim((string) $request->get('search'));
|
||||
$academicYearId = $request->integer('academic_year_id') ?: null;
|
||||
|
||||
$classes = SchoolClass::with(['academicYear', 'department'])
|
||||
->withCount(['students', 'academicHistories'])
|
||||
->when($academicYearId, fn ($query) => $query->where('academic_year_id', $academicYearId), fn ($query) => $query->forActiveAcademicYear())
|
||||
->when($search !== '', function ($query) use ($search) {
|
||||
$query->where('name', 'like', "%{$search}%")
|
||||
->orWhere('level', 'like', "%{$search}%")
|
||||
@@ -38,6 +40,7 @@ class SchoolClassController extends Controller
|
||||
return view('classes.index', [
|
||||
'classes' => $classes,
|
||||
'search' => $search,
|
||||
'academicYearId' => $academicYearId,
|
||||
'academicYears' => AcademicYear::orderByDesc('start_year')->orderByDesc('end_year')->get(),
|
||||
'importPreview' => $request->session()->get('class_import_preview'),
|
||||
'importReferenceData' => $this->importReferenceData(),
|
||||
|
||||
@@ -162,6 +162,15 @@
|
||||
<div class="md:flex-1">
|
||||
<x-form-input name="search" label="Pencarian" :value="$search" placeholder="Cari kelas..." />
|
||||
</div>
|
||||
<div class="md:flex-1">
|
||||
<label for="academic_year_id" class="mb-2 block text-sm font-medium text-slate-700">Tahun Ajaran</label>
|
||||
<select id="academic_year_id" name="academic_year_id" onchange="this.form.submit()" class="w-full rounded-2xl border border-slate-200 bg-white px-4 py-3 text-sm text-slate-700 focus:border-indigo-300 focus:outline-none focus:ring-2 focus:ring-indigo-100">
|
||||
<option value="">TA berjalan ({{ $academicYears->firstWhere('is_active', true)?->name ?? '-' }})</option>
|
||||
@foreach ($academicYears as $ay)
|
||||
<option value="{{ $ay->id }}" @selected($academicYearId === $ay->id)>{{ $ay->name }}{{ $ay->is_active ? ' (aktif)' : '' }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex items-end gap-3">
|
||||
<button type="submit" class="rounded-2xl bg-slate-900 px-5 py-3 text-sm font-semibold text-white transition hover:bg-slate-800">Cari</button>
|
||||
<a href="{{ route('classes.index') }}" class="rounded-2xl border border-slate-200 px-5 py-3 text-sm font-semibold text-slate-700 transition hover:bg-slate-50">Reset</a>
|
||||
|
||||
Reference in New Issue
Block a user