first commit

This commit is contained in:
2026-05-14 15:28:23 +08:00
commit 4fad704fd2
4034 changed files with 1093582 additions and 0 deletions

101
routes/asal/web.php Normal file
View File

@@ -0,0 +1,101 @@
<?php
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\PenjajaController as PublicPenjajaController;
use App\Http\Controllers\Admin\PenjajaController as AdminPenjajaController;
use App\Http\Controllers\Admin\IkPenjajaController;
use App\Http\Controllers\Admin\PegawaiPenjajaController;
use App\Http\Controllers\Admin\DashboardController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\AuthenticatedSessionController;
Route::get('/', [AuthenticatedSessionController::class, 'create']);
Route::get('/dashboard', [PublicPenjajaController::class, 'list'])->middleware(['auth', 'verified'])->name('dashboard');
Route::get('/dashmin/{ctahun?}', [DashboardController::class, 'utama'])->middleware(['auth', 'verified'])->name('admin.dashboard');
Route::post('/dashmin', [DashboardController::class, 'carianutama'])->middleware(['auth', 'verified'])->name('admin.dashboard');
Route::get('/penjaja-baru', [AdminPenjajaController::class, 'senarai_pt'])->middleware(['auth', 'verified'])->name('pt.baru');
Route::get('/penjaja-baru-papar/{id}', [AdminPenjajaController::class, 'papar'])->middleware(['auth', 'verified'])->name('admin.penjaja-papar');
Route::get('/penjaja-baru-papar-lampiran/{id}', [AdminPenjajaController::class, 'paparLampiran'])->middleware(['auth', 'verified'])->name('pt.penjaja-papar-lampiran');
Route::get('/penjaja-papar-pemeriksaan/{id}', [IkPenjajaController::class, 'papar'])->middleware(['auth', 'verified'])->name('ik.papar-pemeriksaan');
Route::get('/penjaja-papar-pemeriksaan-map/{id}', [IkPenjajaController::class, 'papar_map'])->middleware(['auth', 'verified'])->name('ik.papar-pemeriksaan-map');
Route::get('/penjaja-papar-pemeriksaan-dokumen/{id}', [IkPenjajaController::class, 'papar_dokumen'])->middleware(['auth', 'verified'])->name('ik.papar-pemeriksaan-dokumen');
Route::get('/penjaja-papar-pemeriksaan-proses/{id}', [IkPenjajaController::class, 'papar_wangproses'])->middleware(['auth', 'verified'])->name('ik.papar-pemeriksaan-wangproses');
Route::get('/penjaja-papar-pemeriksaan-ulasan/{id}', [IkPenjajaController::class, 'papar_ulasan'])->middleware(['auth', 'verified'])->name('ik.papar-pemeriksaan-ulasan');
Route::post('/simpan_wangproses', [AdminPenjajaController::class, 'simpanWangProses'])->middleware(['auth', 'verified'])->name('pt.simpan_wangproses');
Route::get('/penjaja-proses', [AdminPenjajaController::class, 'senarai_pt_proses'])->middleware(['auth', 'verified'])->name('pt.proses');
Route::post('/simpan_nofail', [AdminPenjajaController::class, 'simpanNoFail'])->middleware(['auth', 'verified'])->name('pt.simpan_nofail');
Route::post('/hantar_ppk', [AdminPenjajaController::class, 'hantarPPK'])->middleware(['auth', 'verified'])->name('pt.hantar_ppk');
Route::get('/penjaja-pemeriksaan', [IkPenjajaController::class, 'senarai_ik'])->middleware(['auth', 'verified'])->name('ik.pemeriksaan');
Route::post('/ik-simpan-lokasi', [IkPenjajaController::class, 'simpanLokasi'])->middleware(['auth', 'verified'])->name('ik.simpan-lokasi');
Route::post('/ik-simpan-ulasan', [IkPenjajaController::class, 'simpanUlasan'])->middleware(['auth', 'verified'])->name('ik.simpan-ulasan');
Route::get('/penjaja-pegawai-ulasan', [PegawaiPenjajaController::class, 'senarai_pegawai'])->middleware(['auth', 'verified'])->name('pegawai.ulasan');
Route::get('/penjaja-bukafail', function () {
return view('admin.penjaja.senaraibukafail');
})->middleware(['auth', 'verified'])->name('pt.bukafail');
Route::get('/penjaja-pengarah-sokong', function () {
return view('admin.penjaja.senaraisokonganpengarah');
})->middleware(['auth', 'verified'])->name('pengarah.ulasan');
Route::get('/penjaja-minitmesyuarat', function () {
return view('admin.penjaja.senaraibawamesyuarat');
})->middleware(['auth', 'verified'])->name('pt.bawamesyuarat');
Route::get('/penjaja-keputusanmesyuarat', function () {
return view('admin.penjaja.keputusanmesyuarat');
})->middleware(['auth', 'verified'])->name('pt.keputusanmesyuarat');
Route::get('/penjaja-keluar-lesen', function () {
return view('admin.penjaja.keputusanmesyuarat');
})->middleware(['auth', 'verified'])->name('pt.keluarlesen');
Route::get('/penjaja-selesai', function () {
return view('admin.penjaja.keputusanmesyuarat');
})->middleware(['auth', 'verified'])->name('pt.selesai');
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::get('/mohon-penjaja', [PublicPenjajaController::class, 'create'])->name('penjaja-mohon');
Route::post('/simpan-mohon-penjaja', [PublicPenjajaController::class, 'store'])->name('penjaja-simpan_mohon');
Route::get('/mohon-penjaja-upload', [PublicPenjajaController::class, 'create_upload'])->name('penjaja-mohon-upload');
Route::post('/simpan-mohon-penjaja-upload', [PublicPenjajaController::class, 'store_upload'])->name('penjaja-simpan_mohon_upload');
Route::get('/mohon_hapus/{id}', [PublicPenjajaController::class, 'hapus_permohonan'])->middleware(['auth', 'verified'])->name('delete_mohon');
Route::get('/mohon_edit/{id}', [PublicPenjajaController::class, 'edit_permohonan'])->middleware(['auth', 'verified'])->name('edit_mohon');
Route::get('/mohon_hantar', [PublicPenjajaController::class, 'hantar_permohonan'])->middleware(['auth', 'verified'])->name('penjaja-mohon-hantar');
/*Route::post('/pbtpay/checkout/{modul}/{id}', function () {
return view('pbtpay.checkout');
})->middleware(['auth', 'verified'])->name('pbtpay.bayar');*/
Route::post('/pbtpay/checkout/{modul}/{id}', [PbtpayController::class, 'checkout'])->middleware(['auth', 'verified'])->name('pbtpay.bayar');
Route::post('/pbtpay/callback', function () {
return view('pbtpay.callback');
})->middleware(['auth', 'verified'])->name('pbtpay.callback');
Route::post('/pbtpay/indirect', function () {
return view('pbtpay.indirect');
})->middleware(['auth', 'verified'])->name('pbtpay.indirect');
});
require __DIR__.'/auth.php';

62
routes/auth.php Normal file
View File

@@ -0,0 +1,62 @@
<?php
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\ConfirmablePasswordController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\EmailVerificationPromptController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use App\Http\Controllers\Auth\RegisteredUserController;
use App\Http\Controllers\Auth\VerifyEmailController;
use Illuminate\Support\Facades\Route;
Route::middleware('guest')->group(function () {
Route::get('register', [RegisteredUserController::class, 'create'])
->name('register');
Route::post('register', [RegisteredUserController::class, 'store']);
Route::get('login', [AuthenticatedSessionController::class, 'create'])
->name('login');
Route::post('login', [AuthenticatedSessionController::class, 'store']);
Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request');
Route::post('forgot-password', [PasswordResetLinkController::class, 'store'])
->name('password.email');
Route::get('reset-password/{token}', [NewPasswordController::class, 'create'])
->name('password.reset');
Route::post('reset-password', [NewPasswordController::class, 'store'])
->name('password.store');
});
Route::middleware('auth')->group(function () {
Route::get('verify-email', EmailVerificationPromptController::class)
->name('verification.notice');
Route::get('verify-email/{id}/{hash}', VerifyEmailController::class)
->middleware(['signed', 'throttle:6,1'])
->name('verification.verify');
Route::post('email/verification-notification', [EmailVerificationNotificationController::class, 'store'])
->middleware('throttle:6,1')
->name('verification.send');
Route::get('confirm-password', [ConfirmablePasswordController::class, 'show'])
->name('password.confirm');
Route::post('confirm-password', [ConfirmablePasswordController::class, 'store']);
Route::put('password', [PasswordController::class, 'update'])->name('password.update');
Route::post('logout', [AuthenticatedSessionController::class, 'destroy'])
->name('logout');
Route::get('logout', [AuthenticatedSessionController::class, 'destroy'])
->name('logout');
});

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')->hourly();

170
routes/web.php Normal file
View File

@@ -0,0 +1,170 @@
<?php
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\PenjajaController as PublicPenjajaController;
use App\Http\Controllers\Admin\PenjajaController as AdminPenjajaController;
use App\Http\Controllers\Admin\IkPenjajaController;
use App\Http\Controllers\Admin\PegawaiPenjajaController;
use App\Http\Controllers\Admin\CetakanPenjajaController;
use App\Http\Controllers\Admin\PtPenjajaController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\PengurusanAdminController;
use App\Http\Controllers\Admin\GambarCarouselController;
use App\Http\Controllers\Admin\PengumumanController;
use App\Http\Controllers\BilPelbagaiController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\DataController;
Route::get('/utama', [AuthenticatedSessionController::class, 'create']);
Route::get('/', function () {
return view('fahmi');
});
//Route::get('/dashboard', [PublicPenjajaController::class, 'list'])->middleware(['auth', 'verified'])->name('dashboard');
Route::get('/dashboard', [PublicPenjajaController::class, 'list'])->middleware(['auth'])->name('dashboard');
Route::middleware(['auth', 'kakitangan'])->group(function () {
Route::get('/dashmin/{ctahun?}', [DashboardController::class, 'utama'])->name('admin.dashboard');
Route::post('/dashmin', [DashboardController::class, 'carianutama'])->name('admin.dashboard');
Route::get('/lantikan_admin', [PengurusanAdminController::class, 'showList'])->name('admin.lantikan-admin');
Route::post('/cari_admin', [PengurusanAdminController::class, 'showListCarian'])->name('admin.cariadmin');
Route::patch('/admin/users/{id}/update-role', [PengurusanAdminController::class, 'updateRole'])
->name('admin.users.updateRole')->name('admin.add-admin');
Route::get('/rem-admin/{nokp}/{keyword?}', [PengurusanAdminController::class, 'removeAdmin'])->name('admin.remove-admin')->where('keyword', '.*');
Route::get('/mohon-penjaja-admin', [AdminPenjajaController::class, 'create'])->name('penjaja-admin-mohon');
Route::post('/simpan-mohon-penjaja-admin', [AdminPenjajaController::class, 'store'])->name('penjaja-admin-simpan_mohon');
Route::get('/penjaja-baru', [AdminPenjajaController::class, 'senarai_pt'])->name('pt.baru');
Route::get('/penjaja-proses', [AdminPenjajaController::class, 'senarai_pt_proses'])->name('pt.proses');
Route::get('/penjaja-bukafail', [AdminPenjajaController::class, 'senarai_pt_bukafail'])->name('pt.bukafail');
Route::get('/penjaja-daftarlesen', [AdminPenjajaController::class, 'senarai_pt_daftarlesen'])->name('pt.daftarlesen');
Route::get('/penjaja-pemeriksaan', [IkPenjajaController::class, 'senarai_ik'])->name('ik.pemeriksaan');
Route::get('/penjaja-cadangan', [PegawaiPenjajaController::class, 'senarai_cadangan'])->name('pegawai.cadangan');
Route::get('/penjaja-ulasan-cadangan', [PegawaiPenjajaController::class, 'senarai_ulasan_cadangan'])->name('pegawai.ulasan-cadangan');
Route::get('/penjaja-mesyuarat', [AdminPenjajaController::class, 'senarai_mesyuarat'])->name('pt.mesyuarat');
Route::get('/penjaja-minitmesyuarat/{id}', [AdminPenjajaController::class, 'senarai_bawa_mesyuarat'])->name('pt.bawa-mesyuarat');
Route::get('/penjaja-keputusanmesyuarat', [AdminPenjajaController::class, 'senarai_keputusan_mesyuarat'])->name('pt.keputusanmesyuarat');
Route::get('/penjaja-keputusanminitmesyuarat/{id}', [AdminPenjajaController::class, 'senarai_keputusan_minit_mesyuarat'])->name('pt.dapat-keputusan-mesyuarat');
Route::get('/penjaja-all', [AdminPenjajaController::class, 'senarai_all'])->name('admin.senarai_all');
Route::get('/penjaja-hutang-lesen', [DashboardController::class, 'senaraiLesenBelumBayar'])->name('pt.lesenhutang');
Route::get('/penjaja-hutang-lesen-semak', [DashboardController::class, 'semakBayaranLesen'])->name('pt.semaklesenhutang');
Route::get('/penjaja-dokumen/view/{id}/{filename}', [AdminPenjajaController::class, 'showDokumen'])->name('dokumen.penjaja_view');
Route::get('/penjaja-baru-papar/{id}', [AdminPenjajaController::class, 'papar'])->name('admin.papar');
Route::get('/penjaja-papar-map/{id}', [AdminPenjajaController::class, 'papar_map'])->name('admin.papar-map');
Route::get('/penjaja-papar-dokumen/{id}', [AdminPenjajaController::class, 'papar_dokumen'])->name('admin.papar-dokumen');
Route::get('/penjaja-papar-proses/{id}', [AdminPenjajaController::class, 'papar_wangproses'])->name('admin.papar-wangproses');
Route::get('/penjaja-papar-pemeriksaan/{id}', [IkPenjajaController::class, 'papar_pemeriksaan'])->name('admin.papar-pemeriksaan');
Route::get('/penjaja-papar-lesen/{id}', [AdminPenjajaController::class, 'papar_lesen'])->name('admin.papar-lesen');
Route::get('/penjaja-papar-pemeriksaan/{id}/{borang_ik_id}', [IkPenjajaController::class, 'papar_pemeriksaan_lepas'])->name('admin.papar-pemeriksaan-lepas');
Route::get('/penjaja-papar-cadangan-pegawai/{id}/{borang_ik_id}', [PegawaiPenjajaController::class, 'papar_cadangan_pegawai'])->name('admin.papar-cadangan-pegawai');
Route::get('/penjaja-papar-ulasan-cadangan-pengarah/{id}/{borang_ik_id}', [PegawaiPenjajaController::class, 'papar_ulasan_cadangan_pengarah'])->name('admin.papar-ulasan-cadangan-pengarah');
Route::post('/simpan_petak', [PtPenjajaController::class, 'simpanPetak'])->name('pt.kemaskini-petak');
Route::post('/simpan_wangproses', [PtPenjajaController::class, 'simpanWangProses'])->name('pt.simpan-wangproses');
Route::post('/simpan_nofail', [PtPenjajaController::class, 'simpanNoFail'])->name('pt.simpan-nofail');
Route::post('/simpan_nolesen', [PtPenjajaController::class, 'simpanNoLesen'])->name('pt.simpan-nolesen');
Route::post('/hantar_ppk', [PtPenjajaController::class, 'hantarPPK'])->name('pt.hantar-ppk');
Route::post('/simpan_mesyuarat', [PtPenjajaController::class, 'simpanMesyuarat'])->name('pt.simpan-mesyuarat');
//==============
Route::post('/simpan_senarai_bawa_mesyuarat', [PtPenjajaController::class, 'simpanSenaraiBawaMesyuarat'])->name('pt.simpan-senarai-bawa-mesyuarat');
//=============
Route::get('/tambah_ke_mesyuarat/{permohonan_id}/{mesyuarat_id}', [PtPenjajaController::class, 'tambahKeMesyuarat'])->name('pt.tambah-ke-mesyuarat');
Route::get('/buang_dari_mesyuarat/{permohonan_id}/{mesyuarat_id}', [PtPenjajaController::class, 'buangDariMesyuarat'])->name('pt.buang-dari-mesyuarat');
Route::post('/cetak_lampiran_b', [PtPenjajaController::class, 'exportWord'])->name('pt.cetak-lampiran-b');
Route::post('/sahkan_senarai', [PtPenjajaController::class, 'sahkanSenarai'])->name('pt.sahkan-senarai');
Route::post('/simpan_keputusan_mesyuarat', [PtPenjajaController::class, 'simpanKeputusanMesyuarat'])->name('pt.simpan-keputusan-mesyuarat');
Route::post('/ik-simpan-lokasi', [IkPenjajaController::class, 'simpanLokasi'])->name('ik.simpan-lokasi');
Route::post('/ik-simpan-ulasan', [IkPenjajaController::class, 'simpanUlasan'])->name('ik.simpan-ulasan');
Route::post('/pegawai-simpan-cadangan', [PegawaiPenjajaController::class, 'simpan_cadangan'])->name('pegawai.simpan-cadangan');
Route::post('/pegawai-simpan-ulasan-cadangan', [PegawaiPenjajaController::class, 'simpan_ulasan_cadangan'])->name('pegawai.simpan-ulasan-cadangan');
Route::get('/penjaja-cetak-pemeriksaan/{id}/{borang_ik_id}', [CetakanPenjajaController::class, 'cetak_pemeriksaan_lepas'])->name('admin.cetak-pemeriksaan-lepas');
Route::get('/penjaja-cetak-cadangan-pegawai/{id}/{borang_ik_id}', [CetakanPenjajaController::class, 'cetak_cadangan_pegawai'])->name('admin.cetak-cadangan-pegawai');
//Route::post('/pt/jana-bil-automatik', [BilPelbagaiController::class, 'janaBil'])->name('pt.jana-bil-automatik');
Route::post('/pt/jana-bil-automatik', [BilPelbagaiController::class, 'doNothing'])->name('pt.jana-bil-automatik');
/* Route::post('/pt/simpan-bil-manual', [JanaBilController::class, 'simpanManual'])
->name('pt.simpan-bil-manual');*/
Route::post('/lesen-penjaja/{permohonan}/no-fail-lesen', [PtPenjajaController::class, 'ajaxUpdateNoFailLesen'])
->name('lesen-penjaja.ajax.no-fail-lesen');
});
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::get('/mohon-penjaja', [PublicPenjajaController::class, 'create'])->name('penjaja-mohon');
Route::post('/simpan-mohon-penjaja', [PublicPenjajaController::class, 'store'])->name('penjaja-simpan_mohon');
/*Route::get('/mohon-penjaja-upload', [PublicPenjajaController::class, 'create_upload'])->name('penjaja-mohon-upload');
Route::post('/simpan-mohon-penjaja-upload', [PublicPenjajaController::class, 'store_upload'])->name('penjaja-simpan_mohon_upload');*/
Route::get('/mohon_hapus/{id}', [PublicPenjajaController::class, 'hapus_permohonan'])->name('delete_mohon');
Route::get('/mohon_edit/{id}', [PublicPenjajaController::class, 'edit_permohonan'])->name('edit_mohon');
Route::get('/mohon_papar/{id}', [PublicPenjajaController::class, 'papar_permohonan'])->name('penjaja-mohon-papar');
Route::post('/mohon_hantar', [PublicPenjajaController::class, 'hantar_permohonan'])->name('penjaja-mohon-hantar');
/*Route::get('/dokumen/view/{id}/{filename}', [PublicPenjajaController::class, 'showDokumen'])
->middleware('auth') // hanya user login boleh access
->name('dokumen.view');*/
Route::get('/profil/stream/{filename}', [ProfileController::class, 'stream'])->name('profil.stream');
Route::get('/dokumen/stream/{id}/{filename}', [PublicPenjajaController::class, 'stream'])->name('dokumen.stream');
Route::get('/ik/stream/{id}/{filename}', [IkPenjajaController::class, 'stream'])->name('ik.stream');
Route::post('/pbtpay/checkout/{modul}/{id}', [PbtpayController::class, 'checkout'])->name('pbtpay.bayar');
Route::post('/pbtpay/callback', function () {
return view('pbtpay.callback');
})->name('pbtpay.callback');
Route::post('/pbtpay/indirect', function () {
return view('pbtpay.indirect');
})->name('pbtpay.indirect');
Route::match(['get', 'post'], '/get-bil', [PtPenjajaController::class, 'searchPelanggan'])->name('get-bilpelbagai');
Route::get('/get_kawasan', [DataController::class, 'getKawasan']);
Route::get('/get_taman', [DataController::class, 'getTaman']);
Route::get('/get_jalan', [DataController::class, 'getJalan']);
Route::get('/get_penempatan', [DataController::class, 'getPenempatan']);
});
Route::middleware(['auth', 'admin'])->group(function () {
Route::get('/carousel', [GambarCarouselController::class, 'index'])->name('carousel.index');
Route::get('/carousel/create', [GambarCarouselController::class, 'create'])->name('carousel.create');
Route::post('/carousel', [GambarCarouselController::class, 'store'])->name('carousel.store');
Route::delete('/carousel/{id}', [GambarCarouselController::class, 'destroy'])->name('carousel.destroy');
});
Route::middleware(['auth', 'admin'])->prefix('admin')->group(function () {
Route::get('/pengumuman', [PengumumanController::class, 'index'])->name('pengumuman.index');
Route::get('/pengumuman/create', [PengumumanController::class, 'create'])->name('pengumuman.create');
Route::post('/pengumuman', [PengumumanController::class, 'store'])->name('pengumuman.store');
Route::get('/pengumuman/{pengumuman}/edit', [PengumumanController::class, 'edit'])->name('pengumuman.edit');
Route::put('/pengumuman/{pengumuman}', [PengumumanController::class, 'update'])->name('pengumuman.update');
Route::delete('/pengumuman/{pengumuman}', [PengumumanController::class, 'destroy'])->name('pengumuman.destroy');
});
require __DIR__.'/auth.php';