Commit Graph

11 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
a2aabd51d6 refactor(basicdata): optimasi middleware autentikasi dan seeder perizinan
- Mengoptimalkan middleware autentikasi di controller berikut:
  - `BranchController`, `CurrencyController`, dan `HolidayCalendarController`.
  - Mengganti penggunaan `Auth::guard('web')->user()` menjadi middleware `auth`.
  - Menambahkan middleware closure untuk menetapkan properti `$this->user` setelah middleware `auth`.
  - Penyesuaian pada semua pemanggilan terkait autentikasi pengguna untuk menggunakan `$this->user`.

- Refaktor `PermissionSeeder`:
  - Menghapus metode `crudActions` beserta logika iterasi CRUD yang tidak digunakan.
  - Menyederhanakan proses seeding untuk model `PermissionGroup` dengan `updateOrCreate`.
  - Menghilangkan logika assignment izin dari seeder untuk mempercepat proses seeding.
2025-06-22 20:50:59 +07:00
Daeng Deni Mardaeni
c168634c3a feat(basicdata): tambahkan PermissionSeeder dan optimasi autentikasi di controller
- Menambahkan `PermissionSeeder` untuk inisialisasi data izin dengan struktur CRUD pada modul Basicdata.
  - Data izin mencakup tindakan seperti `create`, `read`, `update`, `delete`, `export`, `authorize`, `report`, dan `restore`.
  - Menyediakan relasi dengan grup izin menggunakan model `PermissionGroup`.
- Memanggil `PermissionSeeder` di `BasicdataDatabaseSeeder` untuk memastikan data izin terpasang saat proses seeding.

- Mengoptimalkan autentikasi pengguna di konstruktor controller:
  - Mengganti logika middleware pada `BranchController`, `CurrencyController`, dan `HolidayCalendarController` dengan properti `$this->user`.
  - Menggunakan `Auth::guard('web')->user()` sebagai standar pengelolaan autentikasi.
  - Menghapus middleware yang tidak diperlukan demi meningkatkan kinerja kode.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 19:00:31 +07:00
putrakuningan
5f9f07657f FEAT: Fixed error permission on basic-data Module 2025-06-21 11:28:59 +07:00
Daeng Deni Mardaeni
8d190cb10d feat(currency): tambahkan fitur filter pada ekspor data mata uang
- Modifikasi `CurrencyController`:
  - Tambahkan parameter `Request` pada method `export` untuk menerima input filter `search`.
  - Perbarui logika ekspor agar mendukung pencarian berbasis parameter `search`.

- Perubahan pada `CurrencyExport`:
  - Tambahkan konstruktor untuk menerima dan menyimpan parameter pencarian (`search`).
  - Modifikasi query pada method `collection` untuk menambahkan filter berdasarkan `code`, `name`, atau `decimal_places` yang sesuai dengan parameter `search`.
  - Hapus kolom `updated_at` dan `deleted_at` dari output ekspor.
  - Perbaikan format data pada method `columnFormats`.

- Update pada view `currency/index.blade.php`:
  - Tambahkan elemen JavaScript untuk mengatur URL parameter `search` pada tombol ekspor.
  - Ganti event `change` pada input pencarian dengan `input` untuk meningkatkan respon pencarian secara real-time.
  - Pastikan URL ekspor diperbarui setiap kali pengguna mengetik dalam kolom pencarian.

- Penyesuaian minor pada `branch/index.blade.php`:
  - Hapus log yang tidak relevan sebelum proses ekspor.

Fitur ini memastikan proses ekspor data mata uang dapat disaring berdasarkan pencarian spesifik, memberikan fleksibilitas lebih kepada pengguna.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-19 09:08:33 +07:00
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