Deploy WebGIS 01-05 dengan Docker
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/auth.php';
|
||||
require_login(true);
|
||||
require_post();
|
||||
|
||||
$id = (int) post('id', 0);
|
||||
$alasan = clean_text(post('alasan_hapus', post('alasan', '')), 1000);
|
||||
$penerima = get_penerima_by_id($id);
|
||||
if (!$penerima) json_response('err', 'Data penerima tidak ditemukan.', [], 404);
|
||||
|
||||
// Super admin boleh langsung menghapus marker/pin penerima dari peta.
|
||||
// Data tidak dihapus permanen agar riwayat penyaluran tetap aman untuk audit.
|
||||
if ($_SESSION['role'] === 'super_admin') {
|
||||
$statusBaru = 'dibatalkan';
|
||||
$hapus = 'disetujui';
|
||||
$statusLama = $penerima['status_pengajuan'];
|
||||
$catatan = $alasan ?: 'Marker penerima dihapus oleh super admin.';
|
||||
$stmt = $koneksi->prepare("UPDATE penerima_bantuan SET status_pengajuan=?, status_hapus=?, alasan_hapus=?, alasan_status=? WHERE id=?");
|
||||
$stmt->bind_param('ssssi', $statusBaru, $hapus, $catatan, $catatan, $id);
|
||||
if (!$stmt->execute()) json_response('err', 'Gagal menghapus marker penerima: ' . $koneksi->error);
|
||||
insert_riwayat_status($id, $statusLama, 'hapus_disetujui', $catatan);
|
||||
json_response('ok', 'Marker penerima berhasil dihapus oleh super admin.', get_penerima_by_id($id));
|
||||
}
|
||||
|
||||
// Admin rumah ibadah dan penerima hanya mengajukan penghapusan, menunggu persetujuan super admin.
|
||||
if (!can_manage_penerima($penerima)) json_response('err', 'Akses ditolak.', [], 403);
|
||||
if ($alasan === '') json_response('err', 'Alasan penghapusan wajib diisi.');
|
||||
|
||||
$statusHapus = 'menunggu';
|
||||
$stmt = $koneksi->prepare("UPDATE penerima_bantuan SET status_hapus=?, alasan_hapus=? WHERE id=?");
|
||||
$stmt->bind_param('ssi', $statusHapus, $alasan, $id);
|
||||
if (!$stmt->execute()) json_response('err', 'Gagal mengajukan penghapusan marker penerima: ' . $koneksi->error);
|
||||
insert_riwayat_status($id, $penerima['status_pengajuan'], 'hapus_menunggu', $alasan);
|
||||
json_response('ok', 'Pengajuan hapus marker penerima dikirim. Menunggu persetujuan super admin.', get_penerima_by_id($id));
|
||||
?>
|
||||
Reference in New Issue
Block a user