75 lines
3.6 KiB
Plaintext
75 lines
3.6 KiB
Plaintext
🐛 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
|
|
|
|
## Alasan Perubahan
|
|
1. **Format Rupiah**: Menambahkan fleksibilitas untuk menampilkan nominal dengan atau tanpa simbol Rp sesuai kebutuhan tampilan
|
|
2. **Validasi Data**: Memperkuat validasi data MIG untuk mencegah error pada data yang tidak lengkap
|
|
3. **Role Access**: Memperbaiki permission checking untuk mencakup role admin yang sebelumnya terlewat
|
|
4. **Tampilan Laporan**: Menyederhanakan UI dan memperbaiki format tampilan nilai untuk konsistensi
|
|
5. **Fallback Data**: Menambahkan handling untuk kasus data tidak lengkap pada laporan penilaian
|
|
|
|
## Dampak
|
|
- ✅ Format Rupiah lebih fleksibel dengan opsi simbol
|
|
- ✅ Validasi data MIG lebih kuat dan aman
|
|
- ✅ Role admin sekarang memiliki akses yang sesuai
|
|
- ✅ Tampilan laporan lebih konsisten dan rapi
|
|
- ✅ Penanganan error untuk data tidak lengkap lebih baik
|
|
|
|
## Testing
|
|
Pastikan untuk:
|
|
1. Test format Rupiah dengan berbagai skenario (dengan/ tanpa simbol)
|
|
2. Test akses role admin pada semua fitur yang diperbarui
|
|
3. Test validasi data MIG dengan data lengkap dan tidak lengkap
|
|
4. Test tampilan laporan dengan data npw_tambahan kosong
|
|
5. Verifikasi perhitungan total nilai pasar wajar tetap akurat |