'admin', 'as' => 'admin.'], function () { // Login Routes. Route::post('/login/submit', [LoginController::class, 'login'])->name('login.submit'); Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login'); // Logout Routes. Route::get('/logout/submit', [LoginController::class, 'logout'])->name('logout.submit'); }); /** * Admin routes */ Route::group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['auth:admin', 'menu']], function () { Route::resource('admins', AdminsController::class); Route::get('/admins/expense/{user_id}', [AdminsController::class, 'expense'])->name('admins.expense'); Route::resource('roles', RolesController::class); Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); Route::get('/nextcloud/download/{file}', [NextCloudController::class, 'download'])->name('nextcloud.download'); // Rayon Route::get('/rayon', [RayonController::class, 'index'])->name('rayon.index'); Route::get('/rayon/create', [RayonController::class, 'create'])->name('rayon.create'); Route::post('/rayon/store', [RayonController::class, 'store'])->name('rayon.store'); Route::get('/rayon/edit/{id}', [RayonController::class, 'edit'])->name('rayon.edit'); Route::put('/rayon/update/{id}', [RayonController::class, 'update'])->name('rayon.update'); Route::delete('/rayon/destroy/{id}', [RayonController::class, 'destroy'])->name('rayon.destroy'); // Cost Centre Route::get('/cost', [CostCentreController::class, 'index'])->name('cost.index'); Route::get('/cost/create', [CostCentreController::class, 'create'])->name('cost.create'); Route::post('/cost/store', [CostCentreController::class, 'store'])->name('cost.store'); Route::get('/cost/edit/{id}', [CostCentreController::class, 'edit'])->name('cost.edit'); Route::put('/cost/update/{id}', [CostCentreController::class, 'update'])->name('cost.update'); Route::delete('/cost/destroy/{id}', [CostCentreController::class, 'destroy'])->name('cost.destroy'); // Category Route::get('/category', [CategoryController::class, 'index'])->name('category.index'); Route::get('/category/create', [CategoryController::class, 'create'])->name('category.create'); Route::post('/category/store', [CategoryController::class, 'store'])->name('category.store'); Route::get('/category/edit/{id}', [CategoryController::class, 'edit'])->name('category.edit'); Route::put('/category/update/{id}', [CategoryController::class, 'update'])->name('category.update'); Route::delete('/category/destroy/{id}', [CategoryController::class, 'destroy'])->name('category.destroy'); // Region Route::get('/region', [RegionController::class, 'index'])->name('region.index'); Route::get('/region/create', [RegionController::class, 'create'])->name('region.create'); Route::post('/region/store', [RegionController::class, 'store'])->name('region.store'); Route::get('/region/edit/{id}', [RegionController::class, 'edit'])->name('region.edit'); Route::put('/region/update/{id}', [RegionController::class, 'update'])->name('region.update'); Route::delete('/region/destroy/{id}', [RegionController::class, 'destroy'])->name('region.destroy'); // Cabang Route::get('/cabang', [CabangController::class, 'index'])->name('cabang.index'); Route::get('/cabang/create', [CabangController::class, 'create'])->name('cabang.create'); Route::post('/cabang/store', [CabangController::class, 'store'])->name('cabang.store'); Route::get('/cabang/edit/{id}', [CabangController::class, 'edit'])->name('cabang.edit'); Route::put('/cabang/update/{id}', [CabangController::class, 'update'])->name('cabang.update'); Route::delete('/cabang/destroy/{id}', [CabangController::class, 'destroy'])->name('cabang.destroy'); // Audit Trail Route::get('/audit-trails', [AuditTrailController::class, 'index'])->name('audit-trail.index'); })->middleware(['auth:admin']); Route::middleware(['auth:admin', 'menu'])->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('dashboard.index'); Route::post('/mark_all_read', [DashboardController::class, 'mark_all_read'])->name('dashboard.mark_all_read'); Route::prefix('budgets')->group(function () { Route::get('/', [BudgetControlController::class, 'index'])->name('budget_control'); Route::get('/log', [BudgetControlController::class, 'log'])->name('budget_control.log'); Route::get('/detail/{id}', [BudgetControlController::class, 'detail'])->name('budget_control.detail'); Route::get('/view/{id}', [BudgetControlController::class, 'view'])->name('budget_control.view'); Route::get('/create', [BudgetControlController::class, 'create'])->name('budget_control.create'); Route::post('/store', [BudgetControlController::class, 'store'])->name('budget_control.store'); Route::get('/edit/{id}', [BudgetControlController::class, 'edit'])->name('budget_control.edit'); Route::put('/update/{id}', [BudgetControlController::class, 'update'])->name('budget_control.update'); Route::delete('/destroy/{id}', [BudgetControlController::class, 'destroy'])->name('budget_control.destroy'); }); Route::prefix('reports')->group(function () { Route::get('/upcountry', [ReportController::class, 'upcountry'])->name('reports.upcountry'); Route::get('/vehicle', [ReportController::class, 'vehicle'])->name('reports.vehicle'); Route::get('/entertainment', [ReportController::class, 'entertainment'])->name('reports.entertainment'); Route::get('/meeting', [ReportController::class, 'meeting'])->name('reports.meeting'); Route::get('/others', [ReportController::class, 'others'])->name('reports.others'); Route::get('/all', [ReportController::class, 'all'])->name('reports.all'); Route::get('/jurnal', [ReportController::class, 'jurnal'])->name('reports.jurnal'); Route::get('/generateJurnal', [ReportController::class, 'generateJurnal'])->name('reports.jurnal.generate'); }); // Forms Route::prefix('forms')->group(function () { // Up Country Route::get('/up-country', [FormUpCountryController::class, 'index'])->name('forms.up-country'); Route::get('/up-country/detail/{id}', [FormUpCountryController::class, 'detail'])->name('forms.up-country.detail'); Route::get('/up-country/view/{id}', [FormUpCountryController::class, 'view'])->name('forms.up-country.view'); Route::get('/up-country/create', [FormUpCountryController::class, 'create'])->name('forms.up-country.create'); Route::post('/up-country/store', [FormUpCountryController::class, 'store'])->name('forms.up-country.store'); Route::get('/up-country/edit/{id}', [FormUpCountryController::class, 'edit'])->name('forms.up-country.edit'); Route::put('/up-country/update/{id}', [FormUpCountryController::class, 'update'])->name('forms.up-country.update'); Route::delete('/up-country/destroy/{id}', [FormUpCountryController::class, 'destroy'])->name('forms.up-country.destroy'); Route::put('/up-country/approve/{id}', [FormUpCountryController::class, 'approve'])->name('forms.up-country.approve'); Route::put('/up-country/approve2/{id}', [FormUpCountryController::class, 'approve2'])->name('forms.up-country.approve2'); Route::put('/up-country/reject/{id}', [FormUpCountryController::class, 'reject'])->name('forms.up-country.reject'); Route::put('/up-country/final-approve/{id}', [FormUpCountryController::class, 'finalApprove'])->name('forms.up-country.final-approve'); Route::put('/up-country/open/{id}', [FormUpCountryController::class, 'open'])->name('forms.up-country.open'); // Vehicle Running Cost Route::get('/vehicle-running-cost', [FormVehicleController::class, 'index'])->name('forms.vehicle'); Route::get('/vehicle-running-cost/detail/{id}', [FormVehicleController::class, 'detail'])->name('forms.vehicle.detail'); Route::get('/vehicle-running-cost/view/{id}', [FormVehicleController::class, 'view'])->name('forms.vehicle.view'); Route::get('/vehicle-running-cost/create', [FormVehicleController::class, 'create'])->name('forms.vehicle.create'); Route::post('/vehicle-running-cost/store', [FormVehicleController::class, 'store'])->name('forms.vehicle.store'); Route::get('/vehicle-running-cost/edit/{id}', [FormVehicleController::class, 'edit'])->name('forms.vehicle.edit'); Route::put('/vehicle-running-cost/update/{id}', [FormVehicleController::class, 'update'])->name('forms.vehicle.update'); Route::delete('/vehicle-running-cost/destroy/{id}', [FormVehicleController::class, 'destroy'])->name('forms.vehicle.destroy'); Route::put('/vehicle-running-cost/approve/{id}', [FormVehicleController::class, 'approve'])->name('forms.vehicle.approve'); Route::put('/vehicle-running-cost/approve2/{id}', [FormVehicleController::class, 'approve2'])->name('forms.vehicle.approve2'); Route::put('/vehicle-running-cost/reject/{id}', [FormVehicleController::class, 'reject'])->name('forms.vehicle.reject'); Route::put('/vehicle-running-cost/final-approve/{id}', [FormVehicleController::class, 'finalApprove'])->name('forms.vehicle.final-approve'); Route::put('/vehicle-running-cost/open/{id}', [FormVehicleController::class, 'open'])->name('forms.vehicle.open'); // Entertainment & Presentation Route::get('/entertainment-presentation', [FormEntertainmentPresentationController::class, 'index'])->name('forms.entertainment'); Route::get('/entertainment-presentation/detail/{id}', [FormEntertainmentPresentationController::class, 'detail'])->name('forms.entertainment.detail'); Route::get('/entertainment-presentation/view/{id}', [FormEntertainmentPresentationController::class, 'view'])->name('forms.entertainment.view'); Route::get('/entertainment-presentation/create', [FormEntertainmentPresentationController::class, 'create'])->name('forms.entertainment.create'); Route::post('/entertainment-presentation/store', [FormEntertainmentPresentationController::class, 'store'])->name('forms.entertainment.store'); Route::get('/entertainment-presentation/edit/{id}', [FormEntertainmentPresentationController::class, 'edit'])->name('forms.entertainment.edit'); Route::put('/entertainment-presentation/update/{id}', [FormEntertainmentPresentationController::class, 'update'])->name('forms.entertainment.update'); Route::delete('/entertainment-presentation/destroy/{id}', [FormEntertainmentPresentationController::class, 'destroy'])->name('forms.entertainment.destroy'); Route::put('/entertainment-presentation/approve/{id}', [FormEntertainmentPresentationController::class, 'approve'])->name('forms.entertainment.approve'); Route::put('/entertainment-presentation/approve2/{id}', [FormEntertainmentPresentationController::class, 'approve2'])->name('forms.entertainment.approve2'); Route::put('/entertainment-presentation/reject/{id}', [FormEntertainmentPresentationController::class, 'reject'])->name('forms.entertainment.reject'); Route::put('/entertainment-presentation/final-approve/{id}', [FormEntertainmentPresentationController::class, 'finalApprove'])->name('forms.entertainment.final-approve'); Route::put('/entertainment-presentation/open/{id}', [FormEntertainmentPresentationController::class, 'open'])->name('forms.entertainment.open'); // Meeting & Seminar Route::get('/meeting-seminar', [FormMeetingSeminarController::class, 'index'])->name('forms.meeting'); Route::get('/meeting-seminar/detail/{id}', [FormMeetingSeminarController::class, 'detail'])->name('forms.meeting.detail'); Route::get('/meeting-seminar/view/{id}', [FormMeetingSeminarController::class, 'view'])->name('forms.meeting.view'); Route::get('/meeting-seminar/create', [FormMeetingSeminarController::class, 'create'])->name('forms.meeting.create'); Route::post('/meeting-seminar/store', [FormMeetingSeminarController::class, 'store'])->name('forms.meeting.store'); Route::get('/meeting-seminar/edit/{id}', [FormMeetingSeminarController::class, 'edit'])->name('forms.meeting.edit'); Route::put('/meeting-seminar/update/{id}', [FormMeetingSeminarController::class, 'update'])->name('forms.meeting.update'); Route::delete('/meeting-seminar/destroy/{id}', [FormMeetingSeminarController::class, 'destroy'])->name('forms.meeting.destroy'); Route::put('/meeting-seminar/approve/{id}', [FormMeetingSeminarController::class, 'approve'])->name('forms.meeting.approve'); Route::put('/meeting-seminar/approve2/{id}', [FormMeetingSeminarController::class, 'approve2'])->name('forms.meeting.approve2'); Route::put('/meeting-seminar/reject/{id}', [FormMeetingSeminarController::class, 'reject'])->name('forms.meeting.reject'); Route::put('/meeting-seminar/final-approve/{id}', [FormMeetingSeminarController::class, 'finalApprove'])->name('forms.meeting.final-approve'); Route::put('/meeting-seminar/open/{id}', [FormMeetingSeminarController::class, 'open'])->name('forms.meeting.open'); // Other Route::get('/other', [FormOtherController::class, 'index'])->name('forms.other'); Route::get('/other/detail/{id}', [FormOtherController::class, 'detail'])->name('forms.other.detail'); Route::get('/other/view/{id}', [FormOtherController::class, 'view'])->name('forms.other.view'); Route::get('/other/create', [FormOtherController::class, 'create'])->name('forms.other.create'); Route::post('/other/store', [FormOtherController::class, 'store'])->name('forms.other.store'); Route::get('/other/edit/{id}', [FormOtherController::class, 'edit'])->name('forms.other.edit'); Route::put('/other/update/{id}', [FormOtherController::class, 'update'])->name('forms.other.update'); Route::delete('/other/destroy/{id}', [FormOtherController::class, 'destroy'])->name('forms.other.destroy'); Route::put('/other/approve/{id}', [FormOtherController::class, 'approve'])->name('forms.other.approve'); Route::put('/other/approve2/{id}', [FormOtherController::class, 'approve2'])->name('forms.other.approve2'); Route::put('/other/reject/{id}', [FormOtherController::class, 'reject'])->name('forms.other.reject'); Route::put('/other/final-approve/{id}', [FormOtherController::class, 'finalApprove'])->name('forms.other.final-approve'); Route::put('/other/open/{id}', [FormOtherController::class, 'open'])->name('forms.other.open'); }); //Menu Role Route::get('/auth/menu-tree/{id}', [MenuRoleController::class, 'index'])->name('auth.menurole.index'); Route::post('/auth/menu-tree/submit', [MenuRoleController::class, 'saveMenu'])->name('auth.menurole.submit'); }); Route::get('/check-workers', function (Request $request) { return response()->json([ 'octane_client' => app()->bound(\Laravel\Octane\Contracts\Client::class), 'worker_pid' => getmypid(), ]); });