name('index'); Route::name('dashboard.')->prefix('dashboard')->group(function () { Route::name('inventory.')->prefix('inventory')->group(function () { Route::resource('/',DashboardController::class); }); Route::name('mitigasi.')->prefix('mitigasi')->group(function () { Route::resource('/',DashboardMitigasiController::class); Route::get('/aksi', [DashboardMitigasiController::class, 'aksi']) ->name('aksi') ->middleware(['auth']); }); Route::name('adaptasi.')->prefix('adaptasi')->group(function () { Route::resource('/',DashboardAdaptasiController::class); Route::get('/aksi', [DashboardAdaptasiController::class, 'aksi'])->name('aksi')->middleware(['auth']); }); }); Route::name('management.')->prefix('management')->group(function () { Route::name('user.')->prefix('user')->group(function () { Route::resource('/',UserController::class); Route::get('grid',[UserController::class,'grid'])->name('grid'); Route::get('update/{id?}',[UserController::class,'update'])->name('update'); Route::get('delete/{id?}',[UserController::class,'delete'])->name('delete'); Route::get('forcelogin/{id?}',[UserController::class,'forcelogin'])->name('forcelogin'); }); Route::name('role.')->prefix('role')->group(function () { Route::resource('/',RoleController::class); Route::get('grid',[RoleController::class,'grid'])->name('grid'); Route::get('update/{id?}',[RoleController::class,'update'])->name('update'); Route::name('akses.')->prefix('akses')->group(function () { Route::resource('/',AksesController::class); Route::get('{id}/edit',[AksesController::class,'edit'])->name('edit'); }); }); }); Route::get('mitigasi/{id}/edit', [FormMitigasiController::class, 'edit'])->name('mitigasi.edit')->middleware(['auth']); Route::get('mitigasi/{id}/view', [FormMitigasiController::class, 'view'])->name('mitigasi.view')->middleware(['auth']); Route::get('adaptasi/{id}/edit', [FormAdaptasiController::class, 'edit'])->name('adaptasi.edit')->middleware(['auth']); Route::get('adaptasi/{id}/view', [FormAdaptasiController::class, 'view'])->name('adaptasi.view')->middleware(['auth']); Route::post('change_password', [AuthController::class, 'changePassword'])->name('password.update'); Route::get('user/profile', [AuthController::class, 'show'])->name('profile.show'); Route::get('user/profile/edit', [AuthController::class, 'edit'])->name('profile.edit'); Route::prefix('pengaturan')->group(function () { Route::get('ar/grid', [ArController::class, 'grid'])->name('pengaturan.ar.grid'); Route::resource('ar', ArController::class)->names('pengaturan.ar'); Route::put('ar/{id}/setAktif', [ArController::class, 'setAktif'])->name('pengaturan.ar.setAktif'); Route::get('unit/grid', [UnitController::class, 'grid'])->name('pengaturan.unit.grid'); Route::resource('unit', UnitController::class)->names('pengaturan.unit'); Route::resource('gwp', GwpController::class)->only('index', 'store')->names('pengaturan.gwp'); Route::resource('unit-conversion', UnitConversionController::class)->only('index', 'store')->names('pengaturan.unit-conversion'); //v2.0 Route::get('sumberdata-ef/grid', [EfSourceController::class, 'grid'])->name('pengaturan.sumberdata-ef.grid'); Route::resource('sumberdata-ef', EfSourceController::class)->names('pengaturan.sumberdata-ef'); Route::get('ef/grid', [EfController::class, 'grid'])->name('pengaturan.ef.grid'); Route::resource('ef', EfController::class)->names('pengaturan.ef'); //cms Route::get('upload-aktifitas/grid', [DataAktivitasController::class, 'grid'])->name('pengaturan.upload-aktifitas.grid'); Route::resource('upload-aktifitas', DataAktivitasController::class)->names('pengaturan.upload-aktifitas'); Route::get('pengumuman/grid', [PeraturanController::class, 'grid'])->name('pengaturan.pengumuman.grid'); Route::resource('pengumuman', PeraturanController::class)->names('pengaturan.pengumuman'); }); Route::prefix('kalkulasi')->name('kalkulasi.')->group(function () { Route::get('kalkulasi-emisi/grid', [CalculationController::class, 'grid'])->name('kalkulasi-emisi.grid'); Route::resource('kalkulasi-emisi', CalculationController::class)->only('index', 'create', 'store')->names('kalkulasi-emisi'); Route::get('kunci-aktivitas/grid', [LockActivityController::class, 'grid'])->name('kunci-aktivitas.grid'); Route::get('kunci-aktivitas', [LockActivityController::class, 'index'])->name('kunci-aktivitas.index'); Route::post('kunci-aktivitas/lock', [LockActivityController::class, 'lock'])->name('kunci-aktivitas.lock'); Route::post('kunci-aktivitas/unlock', [LockActivityController::class, 'unlock'])->name('kunci-aktivitas.unlock'); Route::get('salin-aktivitas/grid', [CopyActivityController::class, 'grid'])->name('salin-aktivitas.grid'); Route::resource('salin-aktivitas', CopyActivityController::class)->only('index', 'store')->names('salin-aktivitas'); Route::get('hitung-produsen/grid', [ProdusenCalculateController::class, 'grid'])->name('hitung-produsen.grid'); Route::resource('hitung-produsen', ProdusenCalculateController::class)->only('index', 'store')->names('hitung-produsen'); }); Route::prefix('laporan')->name('laporan.')->group(function () { Route::get('worksheet/export', [WorksheetController::class, 'export'])->name('worksheet.export'); Route::get('worksheet/{inventoryYear?}/{activityYear?}/{sectorCode?}/{wsCode?}', [WorksheetController::class, 'show'])->name('worksheet.show'); Route::get('crf/export', [CrfController::class, 'export'])->name('crf.export'); Route::get('crf/{inventoryYear?}/{activityYear?}/{sectorCode?}', [CrfController::class, 'show'])->name('crf.show'); Route::get('gpc/export', [GpcOutputController::class, 'export'])->name('gpc.export'); Route::get('gpc/{inventoryYear?}', [GpcOutputController::class, 'show'])->name('gpc.show'); Route::get('gcom/export', [GcomCrfController::class, 'export'])->name('gcom.export'); Route::get('gcom/{inventoryYear?}/{activityYear?}', [GcomCrfController::class, 'show'])->name('gcom.show'); }); // Additional others Routing Route::prefix('app')->group(function () { Route::get('ef/get_categories_by_activity', [EfController::class, 'getCategoriesByActivity'])->name('pengaturan.ef.getCategoriesByActivity'); Route::post('ef/add_ef_source', [EfController::class, 'storeEfSource'])->name('pengaturan.ef.addEfSource'); // Additional Function for Dynamic Form Routing Route::resource('form/metadata', FormMetadataController::class)->only('index', 'store', 'destroy')->names('form.metadata'); Route::get('form/aktivitas_user', [FormController::class, 'getUserActivities'])->name('form.aktivitasUser'); Route::get('ws/get_worksheets_by_sector', [WorksheetController::class, 'getWorksheetsBySector'])->name('laporan.ws.getWorksheetsBySector'); Route::get('activity_year_range', [CalculationController::class, 'getActivityYearRange'])->name('getActivityYearRange'); Route::get('get_subsectors', [DataAktivitasController::class, 'fetchSubSectors'])->name('subsectors.fetch'); }); Route::prefix('emisi')->group(function () { Route::get('energy_1a/{code}/{inventoryYear}', [Energy1AController::class, 'save'])->name('emisi.energy1A'); Route::get('energy_gpc/{inventoryYear}', [EnergyGPCService::class, 'save'])->name('emisi.energyGPC'); Route::get('gpc_mapping/{inventoryYear}', [GpcMappingController::class, 'save'])->name('emisi.gpcMapping'); Route::get('agriculture_3a/{code}/{inventoryYear}', [Agriculture3AController::class, 'save'])->name('emisi.agriculture3A'); Route::get('agriculture_3a2b/{code}/{inventoryYear}', [Agriculture3A2bController::class, 'save'])->name('emisi.agriculture3A2b'); Route::get('agriculture_3c1/{code}/{inventoryYear}', [Agriculture3C1Controller::class, 'save'])->name('emisi.agriculture3C1'); Route::get('agriculture_3c3/{code}/{inventoryYear}', [Agriculture3C3Controller::class, 'save'])->name('emisi.agriculture3C3'); Route::get('agriculture_3c4/{code}/{inventoryYear}', [Agriculture3C4Controller::class, 'save'])->name('emisi.agriculture3C4'); Route::get('agriculture_3c5/{code}/{inventoryYear}', [Agriculture3C5Controller::class, 'save'])->name('emisi.agriculture3C5'); Route::get('agriculture_3c6/{code}/{inventoryYear}', [Agriculture3C6Controller::class, 'save'])->name('emisi.agriculture3C6'); Route::get('folu_3b/{code}/{inventoryYear}', [Folu3BController::class, 'save'])->name('emisi.folu3B'); Route::get('waste_4a_pre/{code}/{inventoryYear}', [Waste4APreController::class, 'save'])->name('emisi.waste4APre'); Route::get('waste_4a_methane/{code}/{inventoryYear}', [Waste4AMethaneController::class, 'save'])->name('emisi.waste4AMethane'); Route::get('waste_4a/{code}/{inventoryYear}', [Waste4AController::class, 'save'])->name('emisi.waste4A'); Route::get('waste_4b1/{code}/{inventoryYear}', [Waste4B1Controller::class, 'save'])->name('emisi.waste4B1'); Route::get('waste_4b2/{code}/{inventoryYear}', [Waste4B2Controller::class, 'save'])->name('emisi.waste4B2'); Route::get('waste_4c1/{code}/{inventoryYear}', [Waste4C1Controller::class, 'save'])->name('emisi.waste4C1'); Route::get('waste_4c2a/{code}/{inventoryYear}', [Waste4C2aController::class, 'save'])->name('emisi.waste4C2a'); Route::get('waste_4c2b/{code}/{inventoryYear}', [Waste4C2bController::class, 'save'])->name('emisi.waste4C2b'); Route::get('waste_4c2c/{code}/{inventoryYear}', [Waste4C2cController::class, 'save'])->name('emisi.waste4C2c'); Route::get('waste_4d1a/{code}/{inventoryYear}', [Waste4D1aController::class, 'save'])->name('emisi.waste4D1a'); Route::get('waste_4d1c/{code}/{inventoryYear}', [Waste4D1cController::class, 'save'])->name('emisi.waste4D1c'); Route::get('waste_4d1d/{code}/{inventoryYear}', [Waste4D1dController::class, 'save'])->name('emisi.waste4D1d'); Route::get('waste_4d1e/{code}/{inventoryYear}', [Waste4D1eController::class, 'save'])->name('emisi.waste4D1e'); }); Route::prefix('adaptasi')->group(function() { Route::get('/new', [FormAdaptasiController::class, 'create'])->name('formAdaptasi.create'); Route::post('/store-final', [FormAdaptasiController::class, 'storeFinal'])->name('adaptasi-form.store-final'); Route::get('/thankyou/{id}', [FormAdaptasiController::class, 'thankYou'])->name('formAdaptasi.thankYou'); Route::get('/download/{id}', [FormAdaptasiController::class, 'downloadPDF'])->name('formAdaptasi.downloadPDF'); Route::match(['put', 'patch'], '/{id}', [FormAdaptasiController::class, 'update'])->name('adaptasi-form.update'); // This for dropdown Route::get('/form-adaptasi-sector-dropdown', [FormAdaptasiController::class, 'getSectors']); Route::get('/form-adaptasi-subsector-dropdown', [FormAdaptasiController::class, 'getSubSectors']); Route::get('/form-adaptasi-kategoriaksi-dropdown', [FormAdaptasiController::class, 'getKategoriAksi']); // Route::get('/form-adaptasi-jenisaksi-dropdown', [FormAdaptasiController::class, 'getJenisAksi']); // Route::get('/form-adaptasi-aksi-dropdown', [FormAdaptasiController::class, 'getAksi']); // This for partial save Route::post('/store-part1', [FormAdaptasiController::class, 'storePart1'])->name('adaptasi-form.store-part1'); Route::post('/store-part2', [FormAdaptasiController::class, 'storePart2'])->name('adaptasi-form.store-part2'); }); Route::prefix('mitigasi')->group(function () { Route::get('/new', [FormMitigasiController::class, 'create'])->name('formMitigasi.create'); Route::post('/store-final', [FormMitigasiController::class, 'storeFinal'])->name('mitigasi-form.store-final'); Route::get('/thankyou/{id}', [FormMitigasiController::class, 'thankYou'])->name('formMitigasi.thankYou'); Route::get('/download/{id}', [FormMitigasiController::class, 'downloadPDF'])->name('formMitigasi.downloadPDF'); Route::match(['put', 'patch'], '/{id}', [FormMitigasiController::class, 'update'])->name('mitigasi-form.update'); // This for dropdown Route::get('/form-mitigasi-sector-dropdown', [FormMitigasiController::class, 'getSectors']); Route::get('/form-mitigasi-subsector-dropdown', [FormMitigasiController::class, 'getSubSectors']); Route::get('/form-mitigasi-perhitungan-dropdown', [FormMitigasiController::class, 'getKategoriPerhitungan']); Route::get('/form-mitigasi-subaktivitas-dropdown', [FormMitigasiController::class, 'getSubActivity']); Route::get('/form-mitigasi-aksi-rad', [FormMitigasiController::class, 'getAksiRAD']); Route::get('/form-mitigasi-question', [FormMitigasiController::class, 'loadQuestion']); Route::get('/form-kabupaten', [FormMitigasiController::class, 'getKabkot']); Route::get('/form-kecamatan', [FormMitigasiController::class, 'getKecamatan']); Route::get('/form-kelurahan', [FormMitigasiController::class, 'getKelurahan']); // This for partial save Route::post('/store-part1', [FormMitigasiController::class, 'storePart1'])->name('mitigasi-form.store-part1'); Route::post('/store-part2', [FormMitigasiController::class, 'storePart2'])->name('mitigasi-form.store-part2'); Route::post('/store-part3', [FormMitigasiController::class, 'storePart3'])->name('mitigasi-form.store-part3'); Route::post('/store-part4', [FormMitigasiController::class, 'storePart4'])->name('mitigasi-form.store-part4'); Route::post('/store-part5', [FormMitigasiController::class, 'storePart5'])->name('mitigasi-form.store-part5'); // Route::post('save', [FormMitigasiController::class, 'save'])->name('formMitigasi.save'); }); Route::prefix('folu/lahan_mineral')->group(function () { Route::get('/', [FormKehutananController::class, 'show'])->name('folu.show'); Route::post('{inventoryYear}/import/{instansi?}', [FormKehutananController::class, 'import'])->name('folu.import'); Route::get('{inventoryYear}/export/{instansi?}', [FormKehutananController::class, 'export'])->name('folu.export'); Route::post('{inventoryYear}/{instansi?}', [FormKehutananController::class, 'approvalKonsolidasi'])->name('folu.approval'); }); Route::prefix('pertanian')->name('pertanian.')->group(function () { Route::get('kotoran-ternak/grid', [LivestockManureController::class, 'grid'])->name('kotoran-ternak.grid'); Route::resource('kotoran-ternak', LivestockManureController::class)->names('kotoran-ternak'); Route::put('kotoran_ternak/{id}/setAktif', [LivestockManureController::class, 'setAktif'])->name('kotoran-ternak.setAktif'); }); Route::prefix('{sector}/{code}')->group(function () { Route::get('/', [FormController::class, 'show'])->name('form.show'); Route::post('save', [FormController::class, 'save'])->name('form.save'); Route::get('conversion', [FormController::class, 'convertUnit'])->name('form.conversion'); Route::post('{inventoryYear}/import/{instansi?}', [FormController::class, 'import'])->name('form.import'); Route::get('{inventoryYear}/export/{instansi?}', [FormController::class, 'export'])->name('form.export'); Route::post('lock/{id}', [FormController::class, 'lock'])->name('form.lock'); Route::post('unlock/{id}', [FormController::class, 'unlock'])->name('form.unlock'); Route::post('copy', [FormController::class, 'copyData'])->name('form.copy'); Route::post('{inventoryYear}/{instansi?}', [FormController::class, 'approvalKonsolidasi'])->name('form.approval'); });