## Perubahan Utama:
- 🔧 **Role Management**: Menambahkan role 'EO Appraisal' ke berbagai komponen untuk akses tombol simpan
- 🐛 **Fix Kondisi**: Memperbaiki logika kondisi untuk data MIG (Migrasi) di print-out-sederhana
- 💅 **UI Enhancement**: Konversi table ke div untuk bagian keterangan dengan format yang lebih rapi
- 🎨 **Code Style**: Fix indentation dan whitespace di PermohonanController
## Detail Perubahan:
### File yang Dimodifikasi:
1. **`resources/views/penilai/components/call-report.blade.php`** (Line 507):
- Menambahkan `'EO Appraisal'` ke array role yang memiliki akses tombol simpan
- Sebelumnya: `['senior-officer', 'surveyor', 'administrator']`
- Sekarang: `['senior-officer', 'surveyor', 'administrator','EO Appraisal']`
2. **`resources/views/penilai/components/lpj-sederhana-standar.blade.php`** (Line 47):
- Menambahkan `'EO Appraisal'` dan `'penilai'` ke role yang dapat menyimpan data
- Memperluas akses untuk role penilai dan EO Appraisal
3. **`resources/views/penilai/components/memo.blade.php`** (Line 318):
- Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan memo
- Memastikan konsistensi akses antar komponen
4. **`resources/views/penilai/components/print-out-sederhana.blade.php`**:
- **Line 558-580**: Memperbaiki urutan kondisi pengecekan data MIG
- Memindahkan fallback data tanah dan bangunan ke atas
- Menambahkan kondisi `@if(!$permohonan->is_mig)` untuk data non-MIG
- Menjaga data `npw_tambahan` tetap diproses setelahnya
- **Line 647-700**: Konversi table ke div untuk bagian keterangan
- Mengganti struktur `<table><tr><td>` menjadi `<div>` dengan styling yang lebih rapi
- Menambahkan handling untuk berbagai format data (array, string, quoted)
- Implementasi bullet points yang lebih konsisten
- Menambahkan fallback message "Tidak ada catatan khusus"
5. **`resources/views/penilai/components/rap-penilai.blade.php`** (Line 72 & 115):
- Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan data RAP
- Fix whitespace yang tidak perlu
6. **`resources/views/penilai/components/signature-approval.blade.php`** (Line 117):
- Fix whitespace dan formatting
7. **`app/Http/Controllers/PermohonanController.php`** (Line 55):
- Fix indentation yang tidak konsisten
- Memperbaiki format kode untuk better readability
- Izinkan penghapusan dokumen jaminan untuk status 'order'/'revisi'
- Longgarkan guard admin sementara (comment response 403) pada aksi hapus
- Tambah transaksi DB saat hapus dokumen (begin/commit/rollback)
- Sesuaikan filter daftar pembayaran; hilangkan blok where `belum_bayar`/`jenis_penilaian=1`
- Tambah metode `handleUpload()` dengan `storeAs` ke disk `public`
- Rap-penilai: tambah tombol Back; peran 'penilai' diizinkan menyimpan
- Authorization: rapikan kelas Tailwind dan validasi keterangan saat revisi
- Persetujuan penawaran: gunakan optional chaining saat render nominal bayar
- Surveyor/tanah: gunakan `detail` alih-alih `details` saat hitung luas
- Komponen lampiran-dokumen: perbaiki atribut `textarea` dan penataan id
- Ganti `Inspeksi::create()` → `updateOrCreate()` di PenilaiController (2x) & SurveyorController (1x) dengan kondisi upsert (permohonan_id + dokument_id)
- Tambah logging di SaveFormInspesksiService.php (`Log::info`) untuk debugging & validasi action kosong
- Perbaiki error handling dengan pesan lebih informatif `'Gagal menyimpan data : '.$e->getMessage()`
- Refaktor parsing action memakai array_map & array_filter agar lebih efisien
- Rapikan kode: hapus baris kosong tidak perlu & improve readability
- Perbaiki urutan class CSS di beberapa Blade view (rap-penilai, penilai/index, surveyor/inspeksi)
- Perbaiki XSS di rap-penilai.blade.php dengan `{!! json_encode($dokumen->address ?? '') !!}`
- Tingkatkan integritas database: cegah duplikasi data inspeksi via updateOrCreate()
- Tambah keamanan & maintainability: logging, validasi input, perbaikan format, serta pembersihan kode lama