Files
webstatement/routes/breadcrumbs.php
Daeng Deni Mardaeni 8fa4b2ea9e feat(webstatement): tambahkan menu dan halaman untuk laporan transaksi ATM
- Menambahkan menu baru "Laporan Transaksi ATM" di file `module.json`:
  - Pengaturan path: `atm-reports`.
  - Ikon: `ki-filled ki-printer text-lg text-primary`.
  - Role akses hanya untuk `administrator`.

- Menambahkan breadcrumb untuk laporan transaksi ATM di file `breadcrumbs.php`:
  - Nama breadcrumb: `atm-reports.index`.
  - Nama tampilan: `Laporan Transaksi ATM`.
  - Mengarah ke route `atm-reports.index`.

- Menambahkan view halaman `atm-reports/index.blade.php`:
  - Form permintaan laporan transaksi ATM:
    - Input tanggal laporan.
    - Tombol submit laporan.
  - Tabel daftar laporan yang mendukung:
    - Pagination, filter, dan search.
    - Status laporan (`completed`, `processing`, `pending`, `failed`).
    - Status otorisasi (`approved`, `rejected`, `pending`).
    - Aksi: Lihat detail, unduh (jika selesai), dan hapus laporan (jika pending/failed).

- Menambahkan script handling untuk:
  - Delete laporan transaksi dengan modal konfirmasi menggunakan Swal.
  - Konfigurasi data datatable dengan sorting, pagination, dan API.

- Tujuan pembaruan:
  - Memberikan akses pengguna untuk mengelola laporan transaksi ATM melalui UI.
  - Memungkinkan permintaan, pelacakan, dan penghapusan laporan transaksi ATM secara mudah.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-08 23:45:05 +07:00

123 lines
4.7 KiB
PHP

<?php
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
// Home
Breadcrumbs::for('home', function (BreadcrumbTrail $trail) {
$trail->push('Home', route('dashboard'));
});
// Home > Customers
Breadcrumbs::for('customer.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Customers', route('customer.index'));
});
// Home > Customers > Create
Breadcrumbs::for('customer.create', function (BreadcrumbTrail $trail) {
$trail->parent('customer.index');
$trail->push('Create Customer', route('customer.create'));
});
// Home > Customers > [Customer Name]
Breadcrumbs::for('customer.show', function (BreadcrumbTrail $trail, $customer) {
$trail->parent('customer.index');
$trail->push($customer->name, route('customer.show', $customer));
});
// Home > Customers > [Customer Name] > Edit
Breadcrumbs::for('customer.edit', function (BreadcrumbTrail $trail, $customer) {
$trail->parent('customer.show', $customer);
$trail->push('Edit', route('customer.edit', $customer));
});
// Home > Email Blasts
Breadcrumbs::for('emailblast.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Email Blasts', route('emailblast.index'));
});
// Home > Email Blasts > Create
Breadcrumbs::for('emailblast.create', function (BreadcrumbTrail $trail) {
$trail->parent('emailblast.index');
$trail->push('Create Email Blast', route('emailblast.create'));
});
// Home > Email Blasts > View Email Blast
Breadcrumbs::for('emailblast.view', function (BreadcrumbTrail $trail, $emailBlast) {
$trail->parent('emailblast.index');
$trail->push('View Email Blast', route('emailblast.view', $emailBlast->id));
});
// Home > Email Blasts > Edit Email Blast
Breadcrumbs::for('emailblast.edit', function (BreadcrumbTrail $trail, $emailBlast) {
$trail->parent('emailblast.index');
$trail->push('Edit Email Blast', route('emailblast.edit', $emailBlast->id));
});
Breadcrumbs::for('jenis-kartu.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Jenis Kartu', route('jenis-kartu.index'));
});
Breadcrumbs::for('jenis-kartu.create', function (BreadcrumbTrail $trail) {
$trail->parent('jenis-kartu.index');
$trail->push('Create Jenis Kartu', route('jenis-kartu.create'));
});
// Home > Jenis Kartus > View Jenis Kartu
Breadcrumbs::for('jenis-kartu.view', function (BreadcrumbTrail $trail, $data) {
$trail->parent('jenis-kartu.index');
$trail->push('View Jenis Kartu', route('jenis-kartu.view', $data->id));
});
// Home > Jenis Kartus > Edit Jenis Kartu
Breadcrumbs::for('jenis-kartu.edit', function (BreadcrumbTrail $trail, $data) {
$trail->parent('jenis-kartu.index');
$trail->push('Edit Jenis Kartu', route('jenis-kartu.edit', $data->id));
});
Breadcrumbs::for('kartu-atm.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Kartu ATM', route('kartu-atm.index'));
});
Breadcrumbs::for('sync-logs.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Sync Logs Biaya Kartu', route('sync-logs.index'));
});
Breadcrumbs::for('periode-statements.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Periode Statement', route('periode-statements.index'));
});
Breadcrumbs::for('periode-statements.create', function (BreadcrumbTrail $trail) {
$trail->parent('periode-statements.index');
$trail->push('Create Periode Statement', route('periode-statements.create'));
});
Breadcrumbs::for('periode-statements.edit', function (BreadcrumbTrail $trail, $data) {
$trail->parent('periode-statements.index');
$trail->push('Create Periode Statement', route('periode-statements.edit', $data));
});
Breadcrumbs::for('periode-statements.show', function (BreadcrumbTrail $trail, $data) {
$trail->parent('periode-statements.index');
$trail->push('View Periode Statement', route('periode-statements.show', $data));
});
Breadcrumbs::for('statements.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Print Stetement', route('statements.index'));
});
Breadcrumbs::for('atm-reports.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Laporan Transaksi ATM', route('atm-reports.index'));
});