- Memperbarui logika retry pada `AtmTransactionReportController`: - Memperbolehkan retry jika status laporan adalah `failed`, `pending`, atau laporan dengan status `processing` yang telah melebihi batas waktu (1 jam). - Menambahkan atribut baru seperti `processing_hours` dan `is_processing_timeout` pada data untuk menampilkan informasi durasi proses dan flag timeout. - Mengubah status laporan menjadi `failed` jika melebihi batas waktu sebelum dilakukan retry. - Memperbarui error message untuk mencatat alasan timeout. - Menambahkan metode baru `canRetry` pada controller: - Mengembalikan boolean jika laporan dapat di-retry berdasarkan status dan kondisi laporan. - Memperbarui tampilan untuk bagian daftar laporan (`atm-reports/index.blade.php`): - Menambahkan tombol retry dengan warna yang disesuaikan (kuning/oranye untuk `failed`/`pending`, merah untuk timeout). - Memperbarui tampilan status laporan menjadi lebih informatif, termasuk keterangan durasi proses jika timeout. - Memperbarui tampilan detail laporan (`atm-reports/show.blade.php`): - Menambahkan tombol retry dengan label tambahan "Retry (Timeout)" jika melebihi batas waktu proses. - Menampilkan informasi tambahan seperti waktu proses jika laporan dalam status `processing`. - Menyediakan fungsi JavaScript baru `retryReport` untuk handling retry via AJAX: - Menyertakan konfirmasi sebelum retry. - Memperbarui tombol retry agar lebih reaktif terhadap perubahan status laporan. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
13 KiB
13 KiB