64 lines
3.7 KiB
PHP
64 lines
3.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin\ApprovalController;
|
|
use App\Http\Controllers\Admin\JabatanController;
|
|
use App\Http\Controllers\Admin\ReportController;
|
|
use App\Http\Controllers\Admin\RoleController;
|
|
use App\Http\Controllers\Admin\UserController;
|
|
use App\Http\Controllers\Admin\VotController;
|
|
use App\Http\Controllers\Auth\LoginController;
|
|
use App\Http\Controllers\Auth\PasswordController;
|
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\Pelaksana\SemakanController;
|
|
use App\Http\Controllers\Pemohon\PermohonanController;
|
|
use App\Http\Controllers\ProfileController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', function () {
|
|
return redirect()->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');
|
|
});
|
|
});
|