route('dashboard'); }); Route::middleware('guest')->group(function () { Route::get('login', [LoginController::class, 'create'])->name('login'); Route::post('login', [LoginController::class, 'store']); Route::get('forgot-password', [ForgotPasswordController::class, 'create'])->name('password.request'); Route::post('forgot-password', [ForgotPasswordController::class, 'store'])->name('password.email'); Route::get('reset-password/{token}', [ResetPasswordController::class, 'create'])->name('password.reset'); Route::post('reset-password', [ResetPasswordController::class, 'store'])->name('password.store'); }); Route::post('logout', [LoginController::class, 'destroy'])->middleware('auth')->name('logout'); Route::middleware(['auth', 'active'])->group(function () { Route::get('/dashboard', DashboardController::class)->name('dashboard'); Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::put('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::get('/change-password', [PasswordController::class, 'edit'])->name('password.edit'); Route::put('/change-password', [PasswordController::class, 'update'])->name('password.update'); Route::resource('permohonan', PermohonanController::class)->only(['index', 'create', 'store', 'show'])->middleware('role:Pemohon|Admin'); Route::post('permohonan/{permohonan}/submit', [PermohonanController::class, 'submit'])->name('permohonan.submit')->middleware('role:Pemohon|Admin'); Route::middleware('role:Pelaksana|Admin')->group(function () { Route::get('semakan', [SemakanController::class, 'index'])->name('semakan.index'); Route::get('semakan/{permohonan}', [SemakanController::class, 'show'])->name('semakan.show'); Route::put('semakan/{permohonan}', [SemakanController::class, 'update'])->name('semakan.update'); }); Route::middleware('role:Admin')->group(function () { Route::resource('jabatan', JabatanController::class)->except('show'); Route::resource('vot', VotController::class)->except('show'); Route::resource('users', UserController::class)->except('show'); Route::post('users/{user}/reset-password', [UserController::class, 'resetPassword'])->name('users.reset-password'); Route::resource('roles', RoleController::class)->except('show'); Route::get('approvals', [ApprovalController::class, 'index'])->name('approvals.index'); Route::post('approvals/{permohonan}/approve', [ApprovalController::class, 'approve'])->name('approvals.approve'); Route::post('approvals/{permohonan}/reopen', [ApprovalController::class, 'reopen'])->name('approvals.reopen'); Route::get('reports', [ReportController::class, 'index'])->name('reports.index'); Route::get('reports/excel', [ReportController::class, 'excel'])->name('reports.excel'); Route::get('reports/pdf', [ReportController::class, 'pdf'])->name('reports.pdf'); }); });