Commit Graph

18 Commits

Author SHA1 Message Date
Sholahuddin Al Ayubi
0b28760f41 feat: Implement user-branch relationship and update user management views
- Added a many-to-many relationship between users and branches in User model.
- Updated user creation and editing views to support multiple branch selection.
- Modified user index view to display associated branches.
- Created UserBranch model to manage user-branch associations.
- Added migration for user_branches table with foreign key constraints.
- Implemented seeder to populate user_branches based on existing user branch data.

Run this command:
- php artisan migrate
- php artisan module:seed Usermanagement --class=UserBranchesSeeder
2025-12-11 17:20:34 +07:00
Sholahuddin Al Ayubi
f3872e0665 feat(usermanagement): fix permission seeder structure and ensure module column populated correctly
- Updated PermissionGroupSeeder to seed consistent permission group definitions
- Updated PermissionsSeeder to generate proper permission records with correct module mapping
- Ensured permission creation uses dynamically generated module value based on group name
- Fixed undefined array key "module" issue by restructuring data() output
- Applied permission assignment to all roles for each generated permission
- Improved overall seeder stability and idempotency

To apply the updates, run the following commands:

php artisan module:seed Usermanagement --class="PermissionGroupSeeder"
php artisan module:seed Usermanagement --class="PermissionsSeeder"
2025-12-03 18:28:51 +07:00
Sholahuddin Al Ayubi
4270f152d2 feat(usermanagement): update UsersSeeder to generate users for all branches including branchdirector and soadmindokumen roles
Perubahan utama:
- Menambahkan proses pembuatan user untuk role `branchdirector` di semua branch (branchLuar, branchDalam, dan KPNO).
- Menambahkan proses pembuatan user untuk role `soadmindokumen` di semua branch (branchLuar, branchDalam, dan KPNO).
- Menjamin seluruh role dari RolesSeeder dibuat sebelum user di-generate.
- Menyelaraskan pola pembuatan email dan nama user per branch.
- Mempertahankan user default branch_id = 1 tanpa suffix branch.
- Membersihkan struktur dan alur seeder agar lebih maintainable.

Instruksi setelah perubahan:
1. php artisan config:clear
2. php artisan module:migrate-reset Usermanagement
3. php artisan module:migrate Usermanagement
4. php artisan module:seed Adk --class="UserSeeder"
5. php artisan module:seed Usermanagement --class="UsersSeeder"

Catatan tambahan:
- Urutan approval role kini mengikuti hierarki:
  1. soadmindokumen
  2. admindokumen
  3. legal
  4. branchdirector
2025-12-03 15:14:29 +07:00
Sholahuddin Al Ayubi
ff94434032 refactor(usermanagement): simplify UsersSeeder by removing hardcoded branch arrays and enhancing user creation logic 2025-11-11 13:29:37 +07:00
Sholahuddin Al Ayubi
7313f64a70 refactor(usermanagement): enhance UsersSeeder by removing RolesSeeder dependency and improving user creation logic 2025-11-10 17:44:41 +07:00
Sholahuddin Al Ayubi
a4aab54735 refactor(usermanagement): streamline UsersSeeder by utilizing RolesSeeder and improving user creation logic 2025-10-31 16:53:50 +07:00
Daeng Deni Mardaeni
0a2add800e feat(usermanagement): perbarui seeders untuk grup permission & tambah slug izin restore
- **Perubahan pada Seeder**:
  - Menghapus grup permission `basic-data` dari `PermissionGroupSeeder`, menyisakan hanya `usermanagement` untuk konsistensi.
  - Menambahkan slug baru `restore` ke daftar izin di `PermissionsSeeder` untuk mendukung operasi pemulihan data pada fitur yang relevan.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 18:48:43 +07:00
Daeng Deni Mardaeni
e9fa45a808 feat(roles): tambah fitur relasi posisi pada role
- 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.
2025-05-17 14:12:48 +07:00
Daeng Deni Mardaeni
1007515faa feat(usermanagement): optimalkan pencarian dan tambahkan UserFactory
- 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`.
2025-05-17 14:12:25 +07:00
Daeng Deni Mardaeni
33fe30b443 feat(usermanagement): tambahkan fitur manajemen posisi
- 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.
2025-05-17 14:10:41 +07:00
Daeng Deni Mardaeni
63f2ac25c9 fix(seeder): perbarui data pada PermissionGroupSeeder dan UsersSeeder
- Hapus beberapa entri yang tidak diperlukan dari PermissionGroupSeeder.
- Perbaiki indentasi dan struktur kode di UsersSeeder.
- Pastikan semua entri pengguna memiliki atribut yang konsisten.
2025-04-27 12:26:22 +07:00
Daeng Deni Mardaeni
3d88868da1 fix(seeder): perbaiki email dan password pada UsersSeeder
- Ubah domain email dari '@lpj.id' menjadi '@ag.co.id'
- Ganti password default dari 'lpj' menjadi 'bagbag'
2025-01-15 09:38:20 +07:00
Daeng Deni Mardaeni
f7ae8ea294 fix(migration): perbaiki model Branch dan struktur migrasi pengguna
- 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.
2025-01-15 09:38:08 +07:00
Daeng Deni Mardaeni
849509b441 Penambahan Seeder
- Add Initial Permission Group
- Add Initial Role
- Add Initial Permission
- Add Initial Users
2024-10-27 15:44:29 +07:00
Daeng Deni Mardaeni
2850902c64 Update E-Sign 2024-09-19 14:49:13 +07:00
Daeng Deni Mardaeni
47f248c7b3 Update Module Users
- 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
2024-08-28 09:09:29 +07:00
Daeng Deni Mardaeni
d3baaa31c1 Update Module User
- Add Nik and branch,
2024-08-27 14:45:50 +07:00
Daeng Deni Mardaeni
225b326a5e Initial Commit 2024-08-07 08:47:07 +07:00