role === 'admin') { // jika login sebagai admin, akan direct ke dashboard admin return redirect('/admin/dashboard'); } elseif (Auth::user()->role === 'user') { // jika login sebagai user, akan direct ke dashboard user return redirect('/user/dashboard'); } } return view('home'); }); Route::get('/home', function () { if (Auth::check()) { if (Auth::user()->role === 'admin') { return redirect('/admin/dashboard'); } elseif (Auth::user()->role === 'user') { return redirect('/user/dashboard'); } } return view('home'); }); // Authentication Routes Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login'); Route::post('/login', [LoginController::class, 'login']); Route::post('/logout', [LoginController::class, 'logout'])->name('logout'); // Admin Routes Route::middleware(['auth', 'role:admin'])->group(function () { Route::get('/admin/dashboard', [AdminDashboardController::class, 'index'])->name('admin.dashboard'); }); Route::prefix('admin')->group(function () { Route::get('/data-jurusan', [DataJurusanController::class, 'index'])->name('admin.datajurusan.index'); }); Route::prefix('admin')->group(function () { Route::get('/data-kriteria', [DataKriteriaController::class, 'index'])->name('admin.data-kriteria.index'); Route::get('/data-kriteria/{id}', [DataKriteriaController::class, 'show'])->name('admin.data-kriteria.show'); }); Route::prefix('admin')->group(function () { Route::get('/manajemen-user', [ManajemenUserController::class, 'index'])->name('admin.manajemenuser'); }); Route::prefix('admin')->group(function () { Route::get('/hasil-diagnosis', [HasilDiagnosisController::class, 'index'])->name('admin.hasildiagnosis'); }); Route::prefix('admin')->group(function () { Route::get('/basis-pengetahuan', [BasisPengetahuanController::class, 'index'])->name('admin.basispengetahuan'); }); // User Routes Route::middleware(['auth', 'role:user'])->group(function () { Route::get('/user/dashboard', [UserDashboardController::class, 'index'])->name('user.dashboard'); }); Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); Route::get('/user/info-jurusan', [InfoJurusanController::class, 'index'])->name('user.infojurusan'); // Route::get('/user/perhitungan-aph', [PerhitunganAPHController::class, 'index'])->name('user.perhitunganaph'); Route::prefix('user')->group(function () { // Tampil form AHP Route::get('/perhitungan-aph', [PerhitunganAPHController::class, 'index']) ->name('user.perhitunganaph.index'); // Proses submit AHP Route::post('/perhitungan-aph', [PerhitunganAPHController::class, 'analisa']) ->name('user.perhitunganaph.analisa'); // (Opsional) Reset data AHP Route::delete('/perhitungan-aph', [PerhitunganAPHController::class, 'reset']) ->name('user.perhitunganaph.reset'); }); Route::prefix('profile')->name('user.profile.')->middleware('auth')->group(function(){ Route::get('/', [ProfileAPHController::class, 'show'])->name('show'); Route::get('/edit', [ProfileAPHController::class, 'edit'])->name('edit'); Route::put('/', [ProfileAPHController::class, 'update'])->name('update'); }); Route::get('/user/diagnosis-hasil', [DiagnosisHasilController::class, 'index'])->name('user.diagnosis-hasil'); Route::post('/logout', function (Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/login'); })->name('logout'); Route::get('admin/data-kriteria', [KriteriaController::class, 'index']) ->name('kriteria.index'); Route::post('admin/data-kriteria', [KriteriaController::class, 'store']) ->name('kriteria.store'); Route::get('admin/data-kriteria/{id}', [KriteriaController::class, 'show']) ->name('kriteria.show'); Route::get('admin/data-kriteria/{id}/edit', [KriteriaController::class, 'edit']) ->name('kriteria.edit'); // Proses update Route::put('admin/data-kriteria/{id}', [KriteriaController::class, 'update']) ->name('kriteria.update'); // Proses delete Route::delete('admin/data-kriteria/{id}', [KriteriaController::class, 'destroy']) ->name('kriteria.destroy'); Route::get('admin/datajurusan', [DataJurusanController::class, 'index']) ->name('admin.datajurusan.index'); // Note: jika Anda tidak punya method create() di controller, // bisa handle via modal di index, atau tambahkan stub create(). Route::prefix('admin')->name('admin.')->group(function () { Route::resource('datajurusan', DataJurusanController::class); }); Route::get('admin/basispengetahuan', [BasisPengetahuanController::class,'index']) ->name('admin.basispengetahuan.index'); Route::post('admin/basispengetahuan', [BasisPengetahuanController::class,'store']) ->name('admin.basispengetahuan.store'); Route::put('admin/basispengetahuan/{basisPengetahuan}', [BasisPengetahuanController::class,'update']) ->name('admin.basispengetahuan.update'); Route::delete('admin/basispengetahuan/{basisPengetahuan}', [BasisPengetahuanController::class,'destroy']) ->name('admin.basispengetahuan.destroy'); Route::prefix('admin') ->name('admin.') ->group(function () { Route::resource('manajemen-user', ManajemenUserController::class); Route::get('manajemen-user/{id}/get', [ManajemenUserController::class, 'getUser']) ->name('manajemen-user.get'); }); Route::prefix('admin')->name('admin.')->group(function(){ // ... Route::get('hasil-diagnosis', [HasilDiagnosisController::class, 'index']) ->name('hasil-diagnosis.index'); }); Route::get('ahp/new', [NewAhpController::class, 'create'])->name('user.ahp.new'); Route::post('ahp', [NewAhpController::class, 'store'])->name('user.ahp.store'); Route::prefix('admin') ->name('admin.') ->middleware(['auth','role:admin']) ->group(function(){ // resource datajurusan, kecuali show Route::resource('datajurusan', DataJurusanController::class) ->except(['show']); }); Route::get('/ahp', [NewAhpController::class, 'index']) ->name('user.ahp.index'); // Terima POST input nilai dan proses AHP+CF Route::post('/ahp', [NewAhpController::class, 'process']) ->name('user.ahp.process'); Route::prefix('admin')->name('admin.')->middleware(['auth'])->group(function() { Route::resource('mapels', MapelController::class); }); use App\Http\Controllers\Admin\BasisAhpController; Route::prefix('admin') ->name('admin.') ->middleware('auth') ->group(function() { Route::resource('basis-ahp', BasisAhpController::class) ->except(['create','edit']); Route::get('basis-ahp/delete/{mapel_id}/{jurusan_id}', [BasisAhpController::class, 'destroyViaUrl']) ->name('basis-ahp.destroy-via-url'); }); Route::prefix('user')->middleware('auth')->group(function() { Route::get('diagnosahasil', [DiagnosisHasilController::class, 'index'])->name('user.diagnosahasil'); Route::get('diagnosahasil/pdf', [DiagnosisHasilController::class, 'exportPdf'])->name('user.diagnosahasil.pdf'); }); Route::middleware('guest')->group(function () { Route::get('/register', [RegisterController::class, 'showRegistrationForm']) ->name('register'); // nama route: register Route::post('/register', [RegisterController::class, 'register']) ->name('register.submit'); // nama route: register.submit }); Route::prefix('admin')->middleware('auth')->group(function() { Route::resource('kecerdasan', KecerdasanController::class)->names([ 'index' => 'admin.kecerdasan.index', 'store' => 'admin.kecerdasan.store', 'update' => 'admin.kecerdasan.update', 'destroy' => 'admin.kecerdasan.destroy', ])->parameters(['kecerdasan' => 'kecerdasan']); });