- Modifikasi form pembuatan role:
- Tambahkan class `tomselect` pada elemen dropdown posisi.
- Update label tingkat jabatan pada tampilan opsi dropdown.
- Pembaruan tabel pada halaman list role:
- Tambah kolom baru: "Position" dan "Tingkat Jabatan".
- Kolom baru dapat diurutkan.
- Update logika pencarian dan pengurutan:
- Izinkan pencarian berdasarkan nama posisi dan tingkat jabatan.
- Tambahkan pengurutan data berdasarkan nama posisi dan tingkat jabatan dengan join table `positions`.
- Perbaikan pada paginasi dan penghitungan data:
- Revisi query agar menghindari duplikasi data akibat join tabel.
- Ekspor data:
- Tambahkan informasi kolom baru "Position" dan "Tingkat Jabatan" pada file Excel hasil ekspor.
- Perbarui header dan pengaturan format kolom pada file Excel.
Perubahan ini memperluas fleksibilitas pada manajemen role dengan menambahkan dimensi posisi dan tingkat jabatan baik dalam tampilan UI maupun data backend.
- Tambahkan relasi posisi dengan menambahkan kolom `position_id` pada tabel roles melalui migrasi.
- Perbarui fungsi pada `RolesController` untuk menyertakan posisi dalam proses CRUD.
- Gunakan model `Position` untuk mendapatkan daftar posisi baik saat membuat maupun mengedit role.
- Sesuaikan nama permission dari `roles.view` ke `roles.read`, `roles.store` ke `roles.create`, dan `roles.edit` ke `roles.update` agar konsisten.
- Perbarui validasi di `RoleRequest` untuk mendukung input `position_id`.
- Tambahkan properti `position_id` ke atribut `fillable` di model Role untuk mendukung mass assignment.
- Buat fungsi relasi `position()` pada model Role untuk mereferensikan ke model Position.
- Perbarui tampilan form role (`create.blade.php`):
- Tambahkan dropdown untuk memilih posisi dalam form input.
- Tampilkan informasi level posisi bersama dengan nama posisi dalam dropdown.
- Sinkronisasi validasi dan nilai default sesuai dengan pengaturan posisi.
- Perbaikan minor pada query pencarian data roles, menggunakan `whereRaw` untuk pencarian case-insensitive.
- Ubah pencarian pada `PermissionsController` dan `UsersController`:
- Gunakan metode `whereRaw` dengan `LOWER` untuk pencocokan case-insensitive pada kolom `name` dan `email`.
- Tambahkan `HasFactory` pada model `User` agar mendukung pembuatan data dummy menggunakan factory.
- Implementasi fungsi `newFactory()` pada model `User` untuk merujuk ke UserFactory.
- Tambahkan file factory baru (`UserFactory`) untuk model `User`:
- Definisikan state default seperti `name`, `email`, `password`, dan `nik` untuk keperluan pembuatan data dummy.
- Gunakan password secara default terenkripsi dengan `bcrypt`.
- 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.
- Hapus beberapa entri yang tidak diperlukan dari PermissionGroupSeeder.
- Perbaiki indentasi dan struktur kode di UsersSeeder.
- Pastikan semua entri pengguna memiliki atribut yang konsisten.
- Memperbaiki import model Branch dari Modules\Basicdata\Models\Branch.
- Menambahkan kolom 'nik' yang nullable setelah kolom 'email'.
- Menambahkan foreign key untuk 'branch_id' yang nullable setelah kolom 'nik'.
- Memperbaiki metode up dan down untuk migrasi pengguna.
- Mengubah impor model Branch dari `Modules\Lpj\Models\Branch` menjadi `Modules\Basicdata\Models\Branch`.
- Perubahan ini memastikan file menggunakan namespace yang benar agar sesuai dengan struktur modul yang telah diperbarui.
- 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.
Mengubah query di UsersController untuk mengambil data roles. Memperbarui tampilan di users/index.blade.php untuk menampilkan kolom role dengan informasi yang sesuai.
Menambahkan logika sorting berdasarkan `sortOrder` dan `sortField` jika ada pada permintaan. Selain itu, memindahkan perhitungan total record ke posisi yang lebih tepat untuk menghindari pengaruh dari pagination.
Added a conditional check to handle cases where the user is undefined when rendering role input fields. This ensures that the role selection logic works correctly for both new user creation and existing user updates.
Replaced Auth user roles check with the roles of the user being created. This ensures the correct role is pre-selected based on the user’s roles, rather than the creator's roles.
- Fix Form Validation for Check Password, if null password not changed
- Update Validation NIK on Update user data
- Fix Role Not Assign if value is id not role name
- Change User Migration, change password field to nullable