sigd/routes/modules/modules.php

278 lines
19 KiB
PHP

<?php
use App\Http\Controllers\HomeController;
use App\Http\Controllers\Dashboard\DashboardAdaptasiController;
use App\Http\Controllers\Dashboard\DashboardInventoryController;
use App\Http\Controllers\Dashboard\DashboardMitigasiController;
use App\Http\Controllers\Management\UserController;
use App\Http\Controllers\Management\UserSekolahController;
use App\Http\Controllers\Management\RoleController;
use App\Http\Controllers\Management\AksesController;
use App\Http\Controllers\Master\AgencyController;
use App\Http\Controllers\Activity\FormController;
use App\Http\Controllers\Activity\FormKehutananController;
use App\Http\Controllers\Activity\FormMetadataController;
use App\Http\Controllers\Activity\FormMitigasiController;
use App\Http\Controllers\Activity\FormAdaptasiController;
use App\Http\Controllers\Activity\LivestockManureController;
use App\Http\Controllers\Emisi\Agriculture3A2bController;
use App\Http\Controllers\Emisi\Agriculture3AController;
use App\Http\Controllers\Emisi\Agriculture3C1Controller;
use App\Http\Controllers\Emisi\Agriculture3C3Controller;
use App\Http\Controllers\Emisi\Agriculture3C4Controller;
use App\Http\Controllers\Emisi\Agriculture3C5Controller;
use App\Http\Controllers\Emisi\Agriculture3C6Controller;
use App\Http\Controllers\Emisi\Energy1AController;
use App\Http\Controllers\Emisi\Folu3BController;
use App\Http\Controllers\Emisi\GpcMappingController;
use App\Http\Controllers\Emisi\Waste4AController;
use App\Http\Controllers\Emisi\Waste4AMethaneController;
use App\Http\Controllers\Emisi\Waste4APreController;
use App\Http\Controllers\Emisi\Waste4B1Controller;
use App\Http\Controllers\Emisi\Waste4B2Controller;
use App\Http\Controllers\Emisi\Waste4C1Controller;
use App\Http\Controllers\Emisi\Waste4C2aController;
use App\Http\Controllers\Emisi\Waste4C2bController;
use App\Http\Controllers\Emisi\Waste4C2cController;
use App\Http\Controllers\Emisi\Waste4D1aController;
use App\Http\Controllers\Emisi\Waste4D1cController;
use App\Http\Controllers\Emisi\Waste4D1dController;
use App\Http\Controllers\Emisi\Waste4D1eController;
use App\Http\Controllers\Reports\CrfController;
use App\Http\Controllers\Reports\GcomCrfController;
use App\Http\Controllers\Reports\GpcOutputController;
use App\Http\Controllers\Reports\WorksheetController;
use App\Http\Controllers\Setting\ArController;
use App\Http\Controllers\Setting\DataAktivitasController;
use App\Http\Controllers\Setting\EfController;
use App\Http\Controllers\Setting\EfSourceController;
use App\Http\Controllers\Setting\GwpController;
use App\Http\Controllers\Setting\PeraturanController;
use App\Http\Controllers\Setting\UnitController;
use App\Http\Controllers\Setting\UnitConversionController;
use App\Http\Controllers\Tool\CalculationController;
use App\Http\Controllers\Tool\CopyActivityController;
use App\Http\Controllers\Tool\LockActivityController;
use App\Http\Controllers\Tool\ProdusenCalculateController;
Route::get('dashboard',[HomeController::class,'index'])->name('index');
Route::name('dashboard.')->prefix('dashboard')->group(function () {
Route::name('inventory.')->prefix('inventory')->group(function () {
Route::resource('/',DashboardInventoryController::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('agriculture')->group(function () {
Route::resource('kotoran_ternak', LivestockManureController::class)->names('livestockManure');
Route::put('kotoran_ternak/{id}/setAktif', [LivestockManureController::class, 'setAktif'])->name('livestockManure.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');
});