Pinjaman tidak ditemukan
Periksa kembali tautan detail pinjaman atau kembali ke dashboard untuk membuka transaksi lain.
Kembali ke dashboard0 ? fetch_loan($loanId) : null; $returnValues = default_return_form(); $returnErrors = []; if ($loan && $_SERVER['REQUEST_METHOD'] === 'POST') { $action = trim((string) ($_POST['action'] ?? '')); if ($action === 'mark_reminder_sent') { if ($loan['is_returned']) { set_flash('secondary', 'Pinjaman sudah selesai sehingga reminder tidak diperlukan.'); } else { mark_reminder_sent($loanId); set_flash('success', 'Waktu reminder terakhir sudah dicatat.'); } header('Location: loan.php?id=' . $loanId); exit; } if ($action === 'record_return') { if ($loan['is_returned']) { set_flash('secondary', 'Pengembalian sudah pernah dicatat sebelumnya.'); header('Location: loan.php?id=' . $loanId); exit; } [$returnValues, $returnErrors] = validate_return_input($_POST, $loan); if ($returnErrors === []) { record_return($loanId, $returnValues); set_flash('success', 'Pengembalian berhasil dicatat dan riwayat telah diperbarui.'); header('Location: loan.php?id=' . $loanId); exit; } } } $loan = $loanId > 0 ? fetch_loan($loanId) : null; $flashes = pull_flashes(); $cssVersion = asset_version('assets/css/custom.css'); $jsVersion = asset_version('assets/js/main.js'); if (!$loan): http_response_code(404); ?>
= render_head_meta('Pinjaman tidak ditemukan', 'Detail pinjaman tidak tersedia atau sudah dihapus dari sistem.') ?>Periksa kembali tautan detail pinjaman atau kembali ke dashboard untuk membuka transaksi lain.
Kembali ke dashboardPinjaman atas nama = e($loan['borrower_name']) ?> dengan qty = e((string) $loan['quantity']) ?>. Gunakan halaman ini untuk reminder dan penutupan transaksi.
Data inti transaksi untuk follow-up dan audit internal.
Salin pesan untuk WhatsApp, email, atau chat internal.
Catat kapan barang kembali dan bagaimana kondisinya.
Transaksi ini sudah ditutup dan tersimpan di riwayat.
Titik audit sederhana untuk staff dan admin.