- Perbarui file `module.json`:
- Menambahkan path baru pada array `files` untuk memuat helper: `app/Helpers/RolePermission.php`.
- Tambahkan helper baru `RolePermission.php`:
- Fungsi `check_permission`:
- Mengecek apakah pengguna yang terautentikasi memiliki permission tertentu.
- Mendukung opsi untuk mengembalikan respons `abort(403)` jika permission tidak valid.
- Fungsi `user_has_role`:
- Mengecek apakah pengguna yang terautentikasi memiliki salah satu role dari daftar yang diberikan.
- Membandingkan nama role pengguna dengan array input menggunakan mekanisme intersect.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Tambahkan model `Position` dengan atribut `code`, `name`, `level`, serta logging aktivitas dan relasi ke `roles`.
- Tambahkan migrasi untuk membuat tabel `positions` dengan soft deletes.
- Tambahkan `PositionExport` untuk kebutuhan ekspor data posisi ke Excel dengan penyaringan berdasarkan kata kunci.
- Buat `PositionsController` untuk CRUD posisi, termasuk validasi, ekspor, dan data API untuk DataTables.
- Metode: `index`, `create`, `store`, `edit`, `update`, `destroy`, `export`, `dataForDatatables`.
- Tambahkan validasi berbasis request `PositionRequest` untuk memastikan data valid sebelum disimpan/diubah.
- Tambahkan tampilan blade untuk daftar posisi (`index.blade.php`) dan form tambah/edit posisi (`create.blade.php`) dengan dukungan DataTables dan SweetAlert.
- Perbarui file `module.json` untuk menambahkan menu "Positions" di User Management.
- Tambahkan breadcrumbs untuk halaman posisi (daftar, tambah, edit) di file `breadcrumbs.php`.
- Perbarui `routes/web.php` untuk menambahkan route terkait posisi.
Fitur ini memungkinkan pengelolaan posisi lengkap termasuk CRUD, ekspor, dan integrasi dengan DataTables.
- Menambahkan kelas "text-primary" pada ikon menu User Management di file `module.json`. Perubahan ini bertujuan untuk meningkatkan konsistensi warna dan tata letak ikon pada aplikasi. Tidak ada perubahan logika atau fungsi lainnya yang terpengaruh.