Update radius.php
This commit is contained in:
+56
-89
@@ -333,7 +333,6 @@ function renderIbadah() {
|
||||
// Tombol ubah radius: hanya admin_ibadah (pemilik)
|
||||
const canEditRadius = (!IS_ADMIN && USER_IBADAH_ID === d.id);
|
||||
const radiusBtn = canEditRadius ? `
|
||||
const radiusBtn = canEditRadius ? `
|
||||
<label class="f-label">
|
||||
Nama Rumah Ibadah
|
||||
</label>
|
||||
@@ -446,6 +445,29 @@ function renderPenduduk() {
|
||||
` : '';
|
||||
layerPenduduk.clearLayers();
|
||||
allPenduduk.forEach(d => {
|
||||
const editBtn = IS_ADMIN ? `
|
||||
<label class="f-label">
|
||||
Edit Nama Penduduk
|
||||
</label>
|
||||
|
||||
<div style="display:flex;gap:8px">
|
||||
|
||||
<input
|
||||
id="edit-penduduk-${d.id}"
|
||||
class="f-input"
|
||||
value="${d.nama_penduduk}"
|
||||
style="margin-bottom:0;flex:1"
|
||||
>
|
||||
|
||||
<button
|
||||
class="btn-submit"
|
||||
style="width:auto;padding:0 16px"
|
||||
onclick="updatePenduduk(${d.id})">
|
||||
<i class="bi bi-check-lg"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
` : '';
|
||||
const color = d.status_warna === 'Hijau' ? 'green' : 'red';
|
||||
const marker = L.marker([d.latitude, d.longitude], { icon: makeIcon(color) });
|
||||
const badge = d.status_warna === 'Hijau'
|
||||
@@ -471,6 +493,7 @@ function renderPenduduk() {
|
||||
<div class="info-row"><span class="key">Status</span>${badge}</div>
|
||||
<div class="info-row"><span class="key">Bantuan</span>${bantuanBadge}</div>
|
||||
<div class="info-row"><span class="key">Koordinat</span><span class="val">${d.latitude.toFixed(5)}, ${d.longitude.toFixed(5)}</span></div>
|
||||
${editBtn}
|
||||
${hapusBtn}
|
||||
${konfirmasiBtn}
|
||||
</div>
|
||||
@@ -508,93 +531,6 @@ async function cekRadius() {
|
||||
updateStats();
|
||||
}
|
||||
|
||||
if (isset($_POST['action']) && $_POST['action'] === 'update_penduduk') {
|
||||
|
||||
if (!$isAdmin) {
|
||||
echo json_encode([
|
||||
"status" => "error",
|
||||
"message" => "Tidak ada akses"
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$id = (int)$_POST['id'];
|
||||
|
||||
$nama = mysqli_real_escape_string(
|
||||
$conn,
|
||||
$_POST['nama_penduduk']
|
||||
);
|
||||
|
||||
$sql = "
|
||||
UPDATE tabel_penduduk
|
||||
SET nama_penduduk='$nama'
|
||||
WHERE id=$id
|
||||
";
|
||||
|
||||
if (mysqli_query($conn,$sql)) {
|
||||
echo json_encode([
|
||||
"status"=>"success",
|
||||
"message"=>"Penduduk berhasil diperbarui"
|
||||
]);
|
||||
} else {
|
||||
echo json_encode([
|
||||
"status"=>"error",
|
||||
"message"=>mysqli_error($conn)
|
||||
]);
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
if (isset($_POST['action']) && $_POST['action'] === 'update_ibadah') {
|
||||
|
||||
if ($isAdmin) {
|
||||
echo json_encode([
|
||||
"status"=>"error",
|
||||
"message"=>"Tidak ada akses"
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$id = (int)$_POST['id'];
|
||||
|
||||
if ($id !== $userIbadahId) {
|
||||
echo json_encode([
|
||||
"status"=>"error",
|
||||
"message"=>"Rumah ibadah bukan milik anda"
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$nama = mysqli_real_escape_string(
|
||||
$conn,
|
||||
$_POST['nama_ibadah']
|
||||
);
|
||||
|
||||
$radius = (int)$_POST['radius'];
|
||||
|
||||
$sql = "
|
||||
UPDATE tabel_ibadah
|
||||
SET
|
||||
nama_ibadah='$nama',
|
||||
radius=$radius
|
||||
WHERE id=$id
|
||||
";
|
||||
|
||||
if (mysqli_query($conn,$sql)) {
|
||||
echo json_encode([
|
||||
"status"=>"success",
|
||||
"message"=>"Rumah ibadah berhasil diperbarui"
|
||||
]);
|
||||
} else {
|
||||
echo json_encode([
|
||||
"status"=>"error",
|
||||
"message"=>mysqli_error($conn)
|
||||
]);
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
// ===== UPDATE STATUS WARNA KE SERVER =====
|
||||
async function updateWarnaPenduduk(id, warna) {
|
||||
@@ -784,7 +720,7 @@ async function updateRadius(id) {
|
||||
}
|
||||
}
|
||||
|
||||
async function updateIbadah(id) {
|
||||
async function updateIbadah(id){
|
||||
|
||||
const nama =
|
||||
document.getElementById(
|
||||
@@ -848,6 +784,37 @@ async function konfirmasiBantuan(id) {
|
||||
showToast('<i class="bi bi-wifi-off"></i> Gagal konfirmasi bantuan', '#e74c3c');
|
||||
}
|
||||
}
|
||||
async function updatePenduduk(id){
|
||||
|
||||
const nama =
|
||||
document.getElementById(
|
||||
'edit-penduduk-' + id
|
||||
).value;
|
||||
|
||||
const fd = new FormData();
|
||||
|
||||
fd.append('action','update_penduduk');
|
||||
fd.append('id',id);
|
||||
fd.append('nama_penduduk',nama);
|
||||
|
||||
const res =
|
||||
await fetch(
|
||||
'ambil.php',
|
||||
{
|
||||
method:'POST',
|
||||
body:fd
|
||||
}
|
||||
);
|
||||
|
||||
const data = await res.json();
|
||||
|
||||
alert(data.message);
|
||||
|
||||
if(data.status==='success'){
|
||||
loadData();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ===== BOOT =====
|
||||
loadData();
|
||||
|
||||
Reference in New Issue
Block a user