Commit Graph

14 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
e3c7bf711c fix(usermanagement): perbaiki kondisi izin pada metode datatables di UsersController
- Mengubah kunci izin dari `usermanagement.view` menjadi `usermanagement.read` untuk konsistensi naming convention di seluruh sistem.
2025-06-22 21:31:55 +07:00
Daeng Deni Mardaeni
7cb2f798d0 refactor(usermanagement): gunakan middleware untuk autentikasi dan inisialisasi user di semua controller
- Mengubah properti `user` dari `public` menjadi `protected` di semua controller terkait:
  - **PermissionsController**
  - **PositionsController**
  - **RolesController**
  - **UsersController**

- Menghapus inisialisasi manual user dengan `Auth::guard('web')->user()` dari konstruktor.

- Menambahkan middleware:
  - `auth` untuk memastikan bahwa hanya pengguna yang telah login dapat mengakses controller.
  - Middleware tambahan anonim untuk mengassign properti `user` setelah middleware `auth` dijalankan.
2025-06-22 20:52:51 +07:00
Daeng Deni Mardaeni
21521b384e feat(usermanagement): ubah respons abort menjadi JSON untuk akses terlarang di beberapa controller
- Mengganti respons `abort(403)` menjadi respons JSON yang lebih informatif di beberapa controller:
  - **PermissionsController**
    - Penyesuaian pada metode penghapusan dan pengambilan data untuk datatable.
    - Menampilkan pesan error dan status success=false jika pengguna tidak memiliki izin.
  - **PositionsController**
    - Perubahan serupa diterapkan pada metode penghapusan posisi dan pengambilan data untuk datatable.
  - **RolesController**
    - Penyesuaian dilakukan pada metode pengambilan data untuk datatable.
  - **UsersController**
    - Ubah logika pada metode penghapusan dan pengambilan data pengguna ke JSON.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 18:56:06 +07:00
Daeng Deni Mardaeni
fdbef3a5e8 feat(usermanagement): perbaiki otorisasi, tambah fitur ekspor, dan optimalkan logika pada beberapa controller
- **Perbaikan Izin Akses**:
  - Mengganti kunci permission pada beberapa metode agar lebih konsisten:
    - `usermanagement.store` menjadi `usermanagement.create` (store).
    - `usermanagement.edit` menjadi `usermanagement.update` (edit/update).
    - `usermanagement.read` tetap diatur sesuai context (index/view).
  - Menambahkan `abort(403)` pada metode yang belum memiliki pengecekan izin untuk memastikan keamanan.

- **Peningkatan Fitur**:
  - Menambahkan fitur ekspor pada `PermissionsController`, `PositionsController`, `RolesController`, dan `UsersController`:
    - Cek validasi izin sebelum melakukan ekspor.
    - Mendukung pengunduhan file Excel.

- **Optimalisasi Logika**:
  - Menggabungkan properti `user` di semua controller dengan mendefinisikannya melalui konstruktor.
  - Menghapus redundansi load user menggunakan `Auth::guard('web')->user()` di setiap metode.
  - Menyederhanakan pengaturan logging aktivitas untuk setiap operasi CRUD.

- **Penyesuaian & Penambahan**:
  - Menambahkan slug `restore` ke daftar permission terkait untuk operasi pemulihan yang diimplementasikan.
  - Menghapus komentar kode yang tidak digunakan dan mendokumentasikan ulang logika penting untuk lebih jelas.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 18:11:14 +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
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
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
f362bdd32f Tambah sorting dan perbaiki lokasi perhitungan total record
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.
2024-11-08 09:59:03 +07:00
Daeng Deni Mardaeni
2850902c64 Update E-Sign 2024-09-19 14:49:13 +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
25db8db2f8 Fix Pagination 2024-08-08 22:47:50 +07:00
Daeng Deni Mardaeni
225b326a5e Initial Commit 2024-08-07 08:47:07 +07:00