18 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
59721337a8 feat(ui): Perbaikan tampilan dan fungsionalitas halaman index untuk manajemen pengguna
- Memperbaiki fungsi export data pengguna dengan format yang lebih rapi
- Update semua controller (Permissions, Positions, Roles, Users) untuk konsistensi response dan error handling
- Tambahan fungsi `goPage(1)` pada event listener pencarian untuk langsung ke halaman pertama saat melakukan pencarian
2025-08-20 09:41:52 +07:00
Daeng Deni Mardaeni
c348af2484 (usermanagement): tambah fitur export users dengan filter pencarian
- Modifikasi `UsersExport` untuk menerima parameter search
- Tambah filter whereAny (name, email) di `collection()`
- Tambah kolom "Roles" dengan mapping roles (pluck + implode)
- Null safety branch pakai optional chaining
- Update formatting kolom export
- Modifikasi `UsersController@export` untuk terima & teruskan search
- Batasi role berdasarkan role user login
- Konsistensikan pencarian di `index()` pakai whereAny
- Hapus validasi NIK di profile update
- Tambah ID pada tombol export di `index.blade.php`
- Tambah fungsi JS `updateExportUrl()` untuk sinkronisasi search
- Null safety render branch & role di DataTable
- Tambah listener untuk update URL export saat search
- Perbaiki formatting & indentasi kode
2025-08-15 08:35:06 +07:00
Daeng Deni Mardaeni
1968c14f68 feat(usermanagement): enhance user management features and implement automated tests
- Memperbarui UsersController:
  - Mengaktifkan middleware untuk menginisialisasi pengguna yang terautentikasi.
  - Mengubah nama izin dari pola 'users.*' menjadi 'usermanagement.*' untuk konsistensi.
  - Menggunakan Storage Facade untuk operasi penyimpanan file tanda tangan.
  - Menambahkan validasi untuk direktori sebelum menyimpan file baru.
  - Mengubah metode untuk memberikan respons JSON pada penghapusan pengguna.

- Memperbarui views/users/index.blade.php:
  - Menghapus dropdown filter yang tidak digunakan.
  - Menambahkan tombol Export to Excel dan Add User dengan styling yang diperbarui.

- Menambahkan file `UsersControllerTest` untuk memastikan kelengkapan pengujian:
  - Pengujian CRUD (Create, Read, Update, Delete) pengguna.
  - Pengujian pagination, sorting, dan filtering untuk datatable.
  - Pengujian pengelolaan file tanda tangan pengguna (penyimpanan baru dan penghapusan tanda tangan lama).
  - Pengujian pemulihan untuk soft-deleted users.
  - Pengujian validasi peran dan izin untuk setiap tindakan.

- Memastikan konsistensi dan reliabilitas proses pengelolaan pengguna melalui pengujian otomatis.
2025-05-18 20:06:15 +07:00
Daeng Deni Mardaeni
1e958c9dd7 feat(permissions): implement permission management enhancements
- Mengubah logika akses `PermissionsController` dengan:
  - Menambahkan konstruktor untuk mendefinisikan user yang terautentikasi.
  - Mengganti logika permission check dari `permissions.*` ke `usermanagement.*`.
  - Menambahkan validasi `abort` untuk operasi CRUD jika user tidak memiliki hak akses.
  - Memperbarui respons penghapusan permission menjadi JSON yang lebih semantik.

- Memperbarui `PermissionGroup` untuk:
  - Menambahkan mekanisme auto-generated slug saat membuat instance baru.

- Memperbaiki export logic pada `PermissionExport` dengan:
  - Mengonversi array `roles` ke collection sebelum menggunakan fungsi `pluck`.

- Menambahkan soft delete pada model `Permission`, memungkinkan penghapusan data non-permanen.

- Menghapus elemen filter dropdown di view `permissions.index` untuk meningkatkan clarity UI.

- Menambahkan comprehensive test suite pada `PermissionsControllerTest` untuk:
  - Menguji validasi CRUD pada permission dengan role dan tanpa role.
  - Menguji restore permissions yang terhapus.
  - Menguji filter, pencarian, dan sorting pada datatables.
  - Menguji export permissions.

Perubahan ini meningkatkan pengelolaan permission, validasi akses, dan memperkaya pengujian untuk memastikan kualitas fitur permission management.
2025-05-18 18:23:06 +07:00
Daeng Deni Mardaeni
a6c79c72b5 feat(roles): tambahkan fitur pengelolaan posisi dan tingkat jabatan pada modul role
- 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.
2025-05-17 15:07:09 +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
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
5678255090 Tambah fungsi update profil dan ganti password
Menambahkan fungsi update profil dan ganti password di UsersController. Menyesuaikan rute dan formulir di tampilan profil untuk mendukung fitur ini.
2024-11-17 12:48:52 +07:00
Daeng Deni Mardaeni
a2bff61998 Tambahkan kolom role di tabel pengguna
Mengubah query di UsersController untuk mengambil data roles. Memperbarui tampilan di users/index.blade.php untuk menampilkan kolom role dengan informasi yang sesuai.
2024-11-17 11:43:19 +07:00
Daeng Deni Mardaeni
a25194dc07 Handle undefined user scenario in role input
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.
2024-10-31 11:39:34 +07:00
Daeng Deni Mardaeni
b185a60b53 Fix role assignment check on user creation form
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.
2024-10-31 11:27:34 +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
18b8ed5344 Update Module User, Add Role Selection 2024-08-28 08:58:47 +07:00
Daeng Deni Mardaeni
d3baaa31c1 Update Module User
- Add Nik and branch,
2024-08-27 14:45:50 +07:00
Daeng Deni Mardaeni
18f0f68f1a Feature #2 : Role With Permission Selection 2024-08-10 21:08:03 +07:00
Daeng Deni Mardaeni
88b9a0aae3 Feature #1 : Permissions 2024-08-08 21:35:30 +07:00
Daeng Deni Mardaeni
225b326a5e Initial Commit 2024-08-07 08:47:07 +07:00