🔧 refactor(laporan): kontrol akses role, optimasi query, dan perbaikan UI
- Tambah role `pemohon-ao` & `pemohon-eo` untuk upload lampiran di LampiranDokumen.php - Implementasi kontrol akses role di lampiran-dokumen.blade.php & laporan/index.blade.php (logika khusus nilai_liquidasi) - Modifikasi query di LaporanController.php: hapus filter approval_eo_at & optimasi kondisi WHERE - Perbaikan formatting query dengan indentasi lebih rapi & maintainable - Standardisasi urutan class CSS di beberapa Blade (activity/index, penilaian/otorisator/index-sla & index) - Pisahkan logika generateLaporanButton jadi function terpisah di laporan/index.blade.php - Perbaikan tampilan tombol laporan berbasis role + cleanup baris kosong & indentasi - Konsistensi UI/UX: responsive design lebih baik, interface clean & styling konsisten dengan Tailwind - Tingkatkan security & maintainability: granular role access, query lebih efisien, code lebih terstruktur
This commit is contained in:
@@ -246,27 +246,33 @@
|
||||
</a>`;
|
||||
}
|
||||
|
||||
if (data.nilai_liquidasi == null) {
|
||||
laporanButton = `
|
||||
|
||||
@if (auth()->user()->hasRole('pemohon-ao'))
|
||||
if (data.nilai_liquidasi == null) {
|
||||
laporanButton = `
|
||||
<a href="laporan/${data.id}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
}
|
||||
|
||||
if ((data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar") && data
|
||||
.nilai_liquidasi > 0) {
|
||||
if (data.penilai.type_penilai == 'resume' && !data.penilai.resume) {
|
||||
laporanButton = `
|
||||
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${type}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
} else {
|
||||
laporanButton = `
|
||||
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${typePenilaian}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
}
|
||||
@endif
|
||||
|
||||
@if (auth()->user()->hasRole('pemohon-ao'))
|
||||
@if ((data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar") && data.nilai_liquidasi > 0)
|
||||
laporanButton = generateLaporanButton(data, dokumenID, inspeksiId, jenisJaminanID,
|
||||
data.penilai.type_penilai == 'resume' && !data.penilai.resume ? type : typePenilaian);
|
||||
@endif
|
||||
@else
|
||||
@if (data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar")
|
||||
laporanButton = generateLaporanButton(data, dokumenID, inspeksiId, jenisJaminanID,
|
||||
data.penilai.type_penilai == 'resume' && !data.penilai.resume ? type : typePenilaian);
|
||||
@endif
|
||||
@endif
|
||||
|
||||
function generateLaporanButton(data, dokumenID, inspeksiId, jenisJaminanID, typeParam) {
|
||||
return `
|
||||
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${typeParam}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user