Susun ulang akses untuk group pengguna - #1679
Merged
Merged
Conversation
Contributor
|
❌ AI PR Review gagal diluncurkan (SSH ke server tidak berhasil). Cek workflow logs untuk detail. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
issue # #1651
🎯 Deskripsi
Pull request ini menyelesaikan issue terkait penyesuaian hak akses (group pengguna) dan permission yang sudah tidak relevan. Beberapa grup lama dihapus, grup baru ditambahkan dengan permission yang spesifik dan sesuai kebutuhan, serta fitur permission usang telah dibersihkan sepenuhnya dari database, kode, dan seeder.
Selain itu, PR ini menyelesaikan bug duplikasi list role pada form aplikasi dan melindungi role-role sistem bawaan agar tidak dapat dihapus secara tidak sengaja oleh user.
🛠️ Perubahan yang Dilakukan
1. Migrasi dan Seeder Role
2026_07_16_000001_remove_obsolete_roles.phpuntuk menghapus grup usang (admin-desa, admin-pendidikan, admin-puskesmas, kontributor-artikel).2026_07_16_000002_add_new_web_roles.phpuntuk menambahkan grup baru (admin-komplain, administrator-website).RoleSpatieSeederuntuk menyematkan permission yang sesuai dengan list role terbaru.2. Pembersihan Permission Usang
2026_07_17_000001_remove_obsolete_standalone_permissions.phpuntuk menghapus permission standalone yang tak terpakai:view,create,edit,delete,access.api,access.counter, danaccess.change_default.web.php), views (sidebar.blade.php), file translasi (permissions.php), tests (CounterExportTest.php,RoutePermissionMiddlewareTest.php), dan logic Auth controller API.3. Proteksi Penghapusan Role Sistem
PROTECTED_ROLESdi modelRoleyang mencakup role-role dasar (super-admin,admin-kecamatan,admin-komplain,administrator-website).RoleController::destroyagar tidak bisa menghapus role yang masuk ke dalamPROTECTED_ROLES.4. Perbaikan UI Duplikasi Role
scopeWeb()pada modelRoleuntuk memfilter role berdasarkanguard_name = 'web'.RoleController::getDatadanUserController(create & edit forms) sehingga UI tidak lagi menampilkan duplikat role yang berasal dariguard_name = 'api'.5. Proteksi Manipulasi Data Mode Database Gabungan
resources/views/role/form.blade.php).$settings['sinkronisasi_database_gabungan'] == 1), opsi/checkbox untuk memberikan hak aksicreate,edit,delete, danimportpada modul-modul yang bersumber dari API pusat (seperti Data Desa, Anggaran Desa, Laporan Penduduk, Laporan APBDes, dll.) akan dihilangkan dan diganti dengan ikon gembok 🔒 (Data dari Pusat).✅ Test Cases yang Diimplementasikan
PROTECTED_ROLES)./counter, API login, dsb., berjalan normal dan tes fitur (PHPUnit/Pest) tetap berstatus passed meskipun tanpa permission lama.📸 Cara Menjalankan Uji Coba Manual
php artisan migratedanphp artisan db:seed --class=RoleSpatieSeeder.php artisan testuntuk memastikan pembersihan permission terkait route middleware tidak merusak fungsionalitas fitur.