Commit Graph

8 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
be271dbe6e feat(basicdata): tambahkan pencarian pada fitur ekspor Holiday Calendar
- Menambahkan kemampuan pencarian pada fitur ekspor Holiday Calendar.
- Mengubah konstruktor `HolidayCalendarExport` untuk menerima parameter `search` yang bersifat opsional.
- Menyesuaikan query pengambilan data pada `HolidayCalendarExport` agar mendukung filter berdasarkan:
  - Deskripsi (`description`).
  - Tipe (`type`).
  - Tanggal (`date`).
- Memperbaiki logika perhitungan halaman aktif pada pagination di `HolidayCalendarController`.
- Menambahkan parameter `search` pada fungsi `export` di `HolidayCalendarController`.
- Memperbarui URL export pada tampilan `index.blade.php` ketika input pencarian diubah.
- Menambahkan fungsi JavaScript `updateExportUrl()` untuk menyisipkan filter pencarian pada URL ekspor.
- Menjamin tidak ada perubahan URL ekspor jika pencarian kosong.

Fitur ini memungkinkan pengguna untuk mengekspor data kalender libur berdasarkan hasil pencarian spesifik.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-19 09:10:33 +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
0bb12812a5 feat(branch): tambahkan fitur filter dan search pada eksport dan tabel cabang
- Menambahkan parameter `search` dan `parent_id` pada `BranchExport` untuk mendukung fitur filter.
- Memodifikasi method `collection` di `BranchExport` agar mendukung filter pencarian dan parent cabang.
- Memperbaiki issue pada method `collection` terkait penggunaan query `LOWER` untuk pencarian.
- Mengubah method `export` di `BranchController` agar menerima parameter filter dari request.
- Menambahkan logika filtering untuk `search` dan `parent_id` pada method index API `BranchController`.
- Menambahkan dropdown filter parent di tampilan `branch/index.blade.php`.
- Implementasi JavaScript di `branch/index.blade.php` untuk mendukung filter pencarian dan parent cabang.
  - Menambahkan logika sinkronisasi URL eksport dengan parameter filter.
  - Menambahkan event listener untuk filter pencarian dan dropdown parent.
  - Menambahkan validasi agar filter diterapkan ke datatable dan URL eksport secara dinamis.
- Memperbaiki penghitungan halaman pagination di datatable.
- Penyesuaian minor pada model Branch dan cara logging aktivitas di model Base.

Fitur ini memungkinkan pengguna melakukan filter data cabang berdasarkan pencarian dan parent cabang saat menampilkan tabel ataupun mengekspor data ke Excel.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-19 08:56:44 +07:00
Daeng Deni Mardaeni
4c6a6d8cea feat(holidaycalendar): implement full feature set for holiday calendar management
- Mengganti namespace model `HolidayCalendar` dari `Entities` ke `Models`.
- Menambahkan validasi izin untuk semua aksi CRUD dan ekspor pada `HolidayCalendarController`.
- Mengintegrasikan fitur izin pada tombol aksi (create, update, delete, export) di view `index.blade.php`.
- Mengupdate logika form view `create.blade.php` untuk mendukung pengelolaan izin dan action dinamis.
- Menambahkan class test `HolidayCalendarControllerTest` dengan pengujian lengkap mencakup:
  - Hak akses untuk membaca, membuat, memperbarui, menghapus, dan mengekspor data.
  - Validasi data saat penyimpanan/pembaruan.
  - Validasi respon HTTP untuk setiap aksi berdasarkan izin.
- Memastikan user tanpa izin akan menerima pesan atau pembatasan akses yang relevan (HTTP 403).
- Fitur ekspor CSV hanya dapat diakses oleh user dengan izin `basic-data.export`.
- Memperbaiki rendering tindakan pada data tabel di `index.blade.php` agar responsif terhadap izin user.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-17 11:34:12 +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
6abea3a826 fix(export): perbaiki penggunaan model Branch pada ekspor cabang
- Mengubah namespace model Branch dari Modules\Lpj\Models\Branch
  menjadi Modules\Basicdata\Models\Branch
- Memastikan ekspor data cabang menggunakan model yang benar
2025-03-13 09:31:22 +07:00
Daeng Deni Mardaeni
20bae06ab6 Tambah fitur ekspor kalender libur
Menambahkan kelas `HolidayCalendarExport` yang mengimplementasikan berbagai antarmuka dari Maatwebsite Excel untuk mendukung ekspor data kalender libur. Data yang diekspor mencakup ID, tanggal, deskripsi, tipe, dan tanggal pembuatan serta pembaruan dengan format kolom yang sesuai.
2024-11-15 09:49:08 +07:00
Daeng Deni Mardaeni
a67bb63a62 Add Module Branch and Currency 2024-10-29 10:49:23 +07:00