feat: Plan 2 — Form Edit Rumah Ibadah & Keluarga Miskin + Ownership

- Add user_id FK (nullable) to rumah_ibadah for ownership tracking
- IbadahController: set user_id on store; enforce ownership on update/destroy
- Add edit modals to map and data views (ibadah + miskin)
- Popup and table row Edit buttons with per-record ownership check
- 7 new tests covering ownership and full-field updates
- Fix ExampleTest for auth-protected routes
- Fix UserFactory missing email_verified_at column
- Mark Plan 2 complete in missing_features.md; update README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
GuavaPopper
2026-06-02 20:29:36 +07:00
parent 15294a5d2f
commit 2e2b42f96b
11 changed files with 744 additions and 28 deletions
+8 -8
View File
@@ -2,7 +2,7 @@
> Berdasarkan perbandingan dokumen SKPL (`D1041231009_RadityaIndraPutranto_SKPL_SIG.docx`) dengan implementasi aktual project.
>
> **Terakhir diperbarui:** 2026-06-02 — setelah implementasi Auth & RBAC (Plan 1).
> **Terakhir diperbarui:** 2026-06-02 — setelah implementasi Form Edit & Ownership (Plan 2).
---
@@ -28,7 +28,7 @@
### 1.3 Gap ownership yang ditemukan saat implementasi:
- [ ] **Ownership Rumah Ibadah**`pengurus_ibadah` seharusnya hanya bisa edit/hapus data ibadah miliknya sendiri. Saat ini bisa edit/hapus **semua** ibadah. Butuh kolom `user_id` di tabel `rumah_ibadah` + policy/gate untuk enforce ownership.
- [x] **Ownership Rumah Ibadah**`pengurus_ibadah` seharusnya hanya bisa edit/hapus data ibadah miliknya sendiri. Saat ini bisa edit/hapus **semua** ibadah. Butuh kolom `user_id` di tabel `rumah_ibadah` + policy/gate untuk enforce ownership.
---
@@ -53,8 +53,8 @@ Data bisa ditambah dan dihapus. Untuk lokasi: drag marker (ibadah & miskin) dan
| Fitur | Role terkait | Status |
|---|---|---|
| **Form Edit Rumah Ibadah** — Edit nama, jenis, pengurus, telepon, jemaah, keterangan | I-06, A-02 | ❌ Belum ada |
| **Form Edit Keluarga Miskin** — Edit nama KK, jumlah jiwa, pekerjaan, pendapatan, kondisi | P-02, A-02 | ❌ Belum ada |
| **Form Edit Rumah Ibadah** — Edit nama, jenis, pengurus, telepon, jemaah, keterangan | I-06, A-02 | ✅ Selesai |
| **Form Edit Keluarga Miskin** — Edit nama KK, jumlah jiwa, pekerjaan, pendapatan, kondisi | P-02, A-02 | ✅ Selesai |
---
@@ -84,12 +84,12 @@ Data bisa ditambah dan dihapus. Untuk lokasi: drag marker (ibadah & miskin) dan
|---|---|---|
| Autentikasi & RBAC | ✅ 6/6 komponen | — |
| Role Pengguna | ✅ 4/4 role | — |
| Ownership pengurus_ibadah | — | ❌ 1 item baru |
| Ownership pengurus_ibadah | ✅ 1/1 | — |
| Fitur Admin | — | ❌ 8 fitur |
| Fitur Edit Data | — | ❌ 2 fitur |
| Fitur Edit Data | ✅ 2/2 | — |
| Fitur Analisis/Dashboard | — | ❌ 3 fitur |
| Fitur Cetak/Ekspor | — | ❌ 3 fitur |
| **Total sisa** | | **~17 item** |
| **Total sisa** | | **~14 item** |
---
@@ -98,7 +98,7 @@ Data bisa ditambah dan dihapus. Untuk lokasi: drag marker (ibadah & miskin) dan
| Plan | Isi | Prioritas |
|---|---|---|
| ~~Plan 1~~ | ~~Auth & RBAC~~ | ✅ Selesai |
| Plan 2 | Form Edit Rumah Ibadah & Keluarga Miskin + Ownership | Tinggi |
| ~~Plan 2~~ | ~~Form Edit Rumah Ibadah & Keluarga Miskin + Ownership~~ | ✅ Selesai |
| Plan 3 | Manajemen Pengguna (Admin: CRUD user, assign role) | Tinggi |
| Plan 4 | Dashboard Statistik + Gap Analysis (Pemangku Kebijakan) | Sedang |
| Plan 5 | Ekspor PDF + Ekspor per Radius + Cetak Laporan | Sedang |