Commit Graph

7 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
1998d89f84 refactor(basicdata): optimasi autentikasi dan pengelolaan user di controller
- Memindahkan autentikasi user dari metode `getUser` ke properti `user` di konstruktor controller.
- Mengganti semua pemanggilan metode `getUser` dengan properti `$this->user`.
- Memastikan validasi hak akses user menggunakan properti `$this->user` di seluruh fungsi controller:
  - `BranchController`
  - `CurrencyController`
  - `HolidayCalendarController`.
- Menghapus rute restore yang tidak digunakan pada Branch dan Currency.
- Menggunakan `Route::resource` untuk HolidayCalendarController agar lebih ringkas.
- Menambahkan dependensi `use Illuminate\Support\Facades\Auth` pada HolidayCalendarController demi konsistensi autentikasi.

Perubahan ini bertujuan untuk menyederhanakan pengelolaan user dan meningkatkan konsistensi autentikasi dalam modul.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-17 13:48:11 +07:00
Daeng Deni Mardaeni
32e620299b feat(currency): implement role-based access control, exports, and tests for currency management
- Menambahkan validasi Role-based Access Control (RBAC) untuk tindakan CRUD mata uang:
  1. Validasi untuk `read`, `create`, `update`, dan `delete` pada CurrencyController.
  2. Menambahkan metode `getUser()` untuk memperoleh user terautentikasi.
  3. Menangani respon dengan HTTP status `403 Forbidden` jika tidak memiliki izin.

- Memperbaiki rute dan logika `store` serta `update`:
  1. Validasi terhadap atribut `code` disesuaikan dengan skenario update (menggunakan ID).
  2. Menambahkan metode `authorize()` pada CurrencyRequest untuk memastikan izin aksi sesuai role (CRUD spesifik).

- Perubahan pada view blade:
  1. Menambahkan validasi izin sebelum rendering tombol `Tambah`, `Hapus`, `Export`, dan `Edit`.
  2. Menambahkan logika dinamis untuk izin terkait.

- Tambahan logika pada export ke Excel:
  1. Validasi izin untuk `basic-data.export` sebelum mengunduh file.

- Test Feature dengan PHPUnit:
  1. Menambahkan test coverage untuk tindakan CRUD, validasi izin role, dan ekspor data.
  2. Menggunakan database segar dengan RefreshDatabase.

- Refactor penggunaan model Currency di `CurrencyExport` agar sesuai namespace setelah modifikasi.

- Respon di `destroy` dan `deleteMultiple` dikembalikan dalam format JSON untuk standardisasi.

- Memastikan test mencakup berbagai skenario:
  1. User dengan izin vs tanpa izin.
  2. Operasi data valid dan tidak valid.

Penyesuaian ini meningkatkan keamanan dan manajemen peran pada modul Currency, serta memastikan pengujian yang mendalam terhadap semua fitur baru.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-17 11:28:17 +07:00
Daeng Deni Mardaeni
7742df5d67 fix(currency): perbaiki logika pagination dan pencarian
- Ubah perhitungan jumlah halaman untuk menggunakan jumlah record yang difilter.
- Sesuaikan pengambilan nomor halaman saat ini dari request.
- Ganti event listener pencarian dari 'input' menjadi 'change' untuk meningkatkan performa.
- Tambahkan pemanggilan fungsi untuk mengatur ulang halaman ke 1 saat pencarian dilakukan.
2025-04-27 19:03:11 +07:00
Daeng Deni Mardaeni
1b692215b8 feat(currency): tambahkan atribut simbol dan perbarui tampilan
- Menambahkan kolom simbol pada tabel mata uang di halaman index.
- Menambahkan input simbol pada form pembuatan mata uang.
- Memperbarui aturan validasi untuk simbol pada CurrencyRequest.
- Memperbarui model Currency untuk menyertakan atribut simbol.
- Memperbarui migrasi untuk menambahkan kolom simbol pada tabel currencies.
2025-04-26 19:34:44 +07:00
Daeng Deni Mardaeni
9efafa6921 Tambahkan fitur hapus data mata uang secara batch
- Menambahkan endpoint `deleteMultiple` pada CurrencyController untuk menghapus beberapa data secara bersamaan.
- Memperbarui tampilan index mata uang untuk mendukung fungsi hapus batch, termasuk tombol "Delete Selected".
- Menambahkan logika pada JavaScript untuk menangani penghapusan batch menggunakan AJAX.
- Memperbarui visibilitas tombol hapus berdasarkan checkbox yang dipilih pada tabel.
2024-12-21 08:12:28 +07:00
Daeng Deni Mardaeni
eecc4e6b95 Fix Breadcrumb and Router 2024-10-29 11:56:13 +07:00
Daeng Deni Mardaeni
a67bb63a62 Add Module Branch and Currency 2024-10-29 10:49:23 +07:00