<?php
include "../config/koneksi.php";
include "../middleware/auth.php";
include "../config/komplain_workflow.php";

sikompro_require_role('admin');

$id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
$aksi = isset($_POST['aksi']) ? $_POST['aksi'] : 'terima';
$catatan = isset($_POST['catatan_admin']) ? komplain_escape($conn, $_POST['catatan_admin']) : '';

if ($id <= 0) {
    header("Location: data_komplain.php?filter=total");
    exit;
}

if ($aksi === 'revisi') {
    mysqli_query($conn, "
        UPDATE komplain
        SET status='diproses_pelaksana',
            catatan_admin='$catatan',
            tanggal_update=NOW()
        WHERE id='$id'
    ");

    komplain_notify(
        $conn,
        'pelaksana',
        'Komplain dikembalikan ke pelaksana',
        'Admin mengirim catatan revisi. Silakan cek detail komplain yang perlu diperbaiki.',
        $id
    );

    header("Location: detail_komplain.php?id=$id&pesan=revisi_ke_pelaksana");
    exit;
}

mysqli_query($conn, "
    UPDATE komplain
    SET status='selesai',
        catatan_admin='$catatan',
        tanggal_update=NOW()
    WHERE id='$id'
");

komplain_notify(
    $conn,
    'admin',
    'Komplain selesai diproses',
    'Sebuah komplain telah disetujui dan ditandai selesai oleh admin.',
    $id
);

header("Location: detail_komplain.php?id=$id&pesan=selesai_final");
