first commit

This commit is contained in:
2026-05-14 09:08:09 +08:00
commit 919b86c8ec
111 changed files with 14085 additions and 0 deletions

8
routes/console.php Normal file
View File

@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

63
routes/web.php Normal file
View File

@@ -0,0 +1,63 @@
<?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');
});
});