🐛 fix(lpj): Perbaikan format Rupiah, role access, dan validasi data
## Ringkasan Melakukan perbaikan pada helper format Rupiah, akses role user, validasi data MIG, serta penyesuaian tampilan laporan dan dokumentasi. ## Perubahan Detail ### 🔧 Helper Function **app/Helpers/Lpj.php**: - Menambahkan parameter opsional `withSymbol` pada fungsi `formatRupiah()` untuk kontrol simbol Rp - Menambahkan handling untuk menghapus titik (.) dari input number sebelum proses - Memperbaiki return value untuk null/empty string sesuai parameter `withSymbol` - Mengganti `str_pad()` dengan `sprintf()` untuk generate random number (lebih efisien) ### 🛠️ Service Layer **app/Services/PreviewLaporanService.php**: - Memperbaiki validasi data MIG dengan menambahkan pengecekan `is_mig` flag - Menambahkan null safety pada property `mig_mst_lpj_tot_nilai_pasar` - Memperbaiki kondisi logic untuk memo dan validasi nilai pasar ### 🎨 View Components **resources/views/component/print-out-dokument.blade.php**: - Memperbaiki syntax Blade dari `@isset` menjadi `isset()` yang lebih proper **resources/views/debitur/components/debitur.blade.php**: - Memperbaiki role checking dari `hasRole()` menjadi `hasAnyRole()` untuk multiple roles **resources/views/debitur/index.blade.php**: - Menambahkan role 'admin' pada kondisi edit dan delete actions - Memperbaiki permission checking untuk administrator dan admin **resources/views/laporan/index.blade.php**: - Menyederhanakan logic tombol laporan dan resume - Menghapus logic role-based yang kompleks untuk tombol laporan - Memperbaiki route URL untuk print-out laporan - Menghapus function `generateLaporanButton()` yang tidak digunakan **resources/views/penilai/components/lpj-sederhana-standar.blade.php**: - Menambahkan role 'penilai' pada permission tombol simpan **resources/views/penilai/components/print-out-sederhana.blade.php**: - Memperbaiki tampilan data dokumen dengan menambahkan kolom nomor dokumen - Mengganti `number_format()` dengan `formatRupiah()` untuk konsistensi format - Menambahkan fallback untuk data tanah dan bangunan ketika `npw_tambahan` tidak tersedia - Memperbaiki perhitungan total nilai pasar wajar dengan proper parsing - Memperbaiki format tampilan nilai likuidasi - Memperbaiki struktur HTML tabel untuk dokumentasi **resources/views/penilai/components/signature-approval.blade.php**: - Memperbaiki route dan parameter untuk approval signature **resources/views/permohonan/index.blade.php**: - Menambahkan role 'admin' pada permission actions
This commit is contained in:
@@ -237,47 +237,22 @@
|
||||
const type = data.penilai?.type || '';
|
||||
let laporanButton = '';
|
||||
let resumeButton = '';
|
||||
let penyelesaian = '';
|
||||
|
||||
if (data.penilai?.resume) {
|
||||
resumeButton = `
|
||||
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0" class="btn btn-sm btn-success">
|
||||
Resume
|
||||
</a>`;
|
||||
<a href="penilai/print-out-laporan/${data.id}/${dokumenID}/${jenisJaminanID}" class="btn btn-sm btn-success">
|
||||
Resume
|
||||
</a>`;
|
||||
}
|
||||
|
||||
|
||||
// Logika untuk role pemohon-ao
|
||||
@if (auth()->user()->hasRole('pemohon-ao'))
|
||||
if (data.nilai_liquidasi == null) {
|
||||
laporanButton = `
|
||||
<a href="laporan/${data.id}" class="btn btn-sm btn-primary">
|
||||
if (data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar") {
|
||||
laporanButton = `
|
||||
<a href="penilai/print-out-laporan/${data.id}/${dokumenID}/${jenisJaminanID}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
} else 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);
|
||||
}
|
||||
@else
|
||||
// Logika untuk role selain pemohon-ao
|
||||
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
|
||||
|
||||
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>`;
|
||||
}
|
||||
|
||||
|
||||
return `<div class="flex flex-wrap gap-1.5 justify-end"> ${penyelesaian} ${resumeButton} ${laporanButton} </div>`;
|
||||
return `<div class="flex flex-wrap gap-1.5 justify-end"> ${resumeButton} ${laporanButton} </div>`;
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user