name('login'); Route::post('/login', [AuthController::class, 'login']); Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); // Landing Page - Simpaud Kartoharjo (Root Route) Route::get('/', function () { return view('landing'); })->name('landing'); Route::middleware('auth')->group(function () { Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); Route::resource('pengumuman', PengumumanController::class); Route::prefix('admin')->group(function () { Route::resource('guru', GuruController::class); Route::resource('wali-murid', WaliMuridController::class); Route::resource('siswa', SiswaController::class); // --- BAGIAN PERKEMBANGAN (YANG KITA PERBAIKI) --- // 1. Halaman Index (Daftar Siswa) Route::get('/perkembangan', [PerkembanganController::class, 'index']) ->name('admin.perkembangan.index'); // 2. Halaman Detail Rapot (Show) -> Nama rute: 'perkembangan.show' Route::get('/perkembangan/{id}', [PerkembanganController::class, 'show']) ->name('perkembangan.show'); // 3. Halaman Cetak (Print) -> Nama rute: 'perkembangan.print' Route::get('/perkembangan/{id}/print', [PerkembanganController::class, 'print']) ->name('perkembangan.print'); // ---------------------------------------- // Akun Route::resource('akun', AkunController::class); Route::post('akun/{akun}/reset-password', [AkunController::class, 'resetPassword'])->name('akun.resetPassword'); Route::get('/penjemputan', [PenjemputanController::class, 'index'])->name('penjemputan.index'); Route::delete('/penjemputan/{id}', [PenjemputanController::class, 'destroy'])->name('penjemputan.destroy'); // === ROUTE RAPOT === // Route::get('/anekdot/create/{siswa}', [App\Http\Controllers\Admin\AnekdotController::class, 'create'])->name('anekdot.create'); Route::post('/admin/anekdot/store/{siswa}', [App\Http\Controllers\Admin\AnekdotController::class, 'store'])->name('anekdot.store'); Route::get('/hasil-karya/create/{siswa}', [App\Http\Controllers\Admin\HasilKaryaController::class, 'create'])->name('hasil-karya.create'); Route::post('/hasil-karya/store/{siswa}', [App\Http\Controllers\Admin\HasilKaryaController::class, 'store'])->name('hasil-karya.store'); Route::get('/ceklis/create/{siswa}', [PenilaianCeklisController::class, 'create'])->name('ceklis.create'); Route::post('/ceklis/store/{siswa}', [PenilaianCeklisController::class, 'store'])->name('ceklis.store'); // Form Input Rapot Baru // // Route::get('/siswa/{id}/rapot/create', [App\Http\Controllers\Admin\RapotController::class, 'create'])->name('rapot.create'); // Simpan Data Rapot Route::post('/siswa/{id}/rapot', [App\Http\Controllers\Admin\RapotController::class, 'store'])->name('rapot.store'); // Lihat Detail/Cetak Rapot Route::get('/rapot/{id}', [App\Http\Controllers\Admin\RapotController::class, 'show'])->name('rapot.show'); // Cetak PDF (Nanti) Route::get('/rapot/{id}/print', [App\Http\Controllers\Admin\RapotController::class, 'print'])->name('rapot.print'); }); Route::get('/sinkron-kordinat', function () { // Ambil data dari ID 4 sampai akhir (karena ID 1-3 itu PAUD dan Simpang) $titikRumah = DB::table('titik_jalans')->where('id', '>=', 4)->get(); $berhasil = 0; foreach ($titikRumah as $titik) { // Hilangkan kata "Rumah " biar sisa nama siswanya aja $namaSiswa = str_replace('Rumah ', '', $titik->nama_titik); $namaSiswa = trim($namaSiswa); // Update latitude & longitude di tabel siswas yang namanya mirip $update = DB::table('siswas') ->where('nama_siswa', 'LIKE', '%' . $namaSiswa . '%') ->update([ 'latitude' => $titik->latitude, 'longitude' => $titik->longitude ]); if($update) { $berhasil++; } } return "Selesai Bosku! Berhasil menyinkronkan $berhasil data koordinat siswa!"; }); });