mirror of
https://github.com/itflow-org/itflow
synced 2026-02-28 10:54:52 +00:00
Add task approval system
This commit is contained in:
@@ -185,6 +185,43 @@ if (isset($_POST['add_ticket_comment'])) {
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_GET['approve_ticket_task'])) {
|
||||
|
||||
$task_id = intval($_GET['approve_ticket_task']);
|
||||
$approval_id = intval($_GET['approval_id']);
|
||||
$url_key = sanitizeInput($_GET['approval_url_key']);
|
||||
|
||||
$approval_row = mysqli_fetch_array(mysqli_query($mysqli, "SELECT * FROM task_approvals LEFT JOIN tasks on task_id = approval_task_id WHERE approval_id = $approval_id AND approval_task_id = $task_id AND approval_url_key = '$url_key' AND approval_status = 'pending' AND approval_scope = 'client'"));
|
||||
|
||||
$task_name = nullable_htmlentities($approval_row['task_name']);
|
||||
$scope = nullable_htmlentities($approval_row['approval_scope']);
|
||||
$type = nullable_htmlentities($approval_row['approval_type']);
|
||||
$required_user = intval($approval_row['approval_required_user_id']);
|
||||
$created_by = intval($approval_row['approval_created_by']);
|
||||
$ticket_id = intval($approval_row['task_ticket_id']);
|
||||
|
||||
if (!$approval_row) {
|
||||
flash_alert("Cannot find/approve that task", 'warning');
|
||||
redirect();
|
||||
exit;
|
||||
}
|
||||
|
||||
// Approve
|
||||
mysqli_query($mysqli, "UPDATE task_approvals SET approval_status = 'approved', approval_approved_by = $session_user_id WHERE approval_id = $approval_id AND approval_task_id = $task_id AND approval_url_key = '$url_key' AND approval_status = 'pending' AND approval_scope = 'client'");
|
||||
|
||||
|
||||
// Notify tech
|
||||
mysqli_query($mysqli, "INSERT INTO notifications SET notification_type = 'Ticket', notification = '$session_contact_email approved ticket task $task_name', notification_action = 'ticket.php?ticket_id=$ticket_id', notification_client_id = $session_client_id, notification_user_id = $created_by");
|
||||
// TODO: Email agent
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Edit", "Contact $session_contact_email approved task $task_name (approval $approval_id)", $session_client_id, $task_id);
|
||||
|
||||
flash_alert("Task Approved");
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['add_ticket_feedback'])) {
|
||||
|
||||
$ticket_id = intval($_POST['ticket_id']);
|
||||
|
||||
Reference in New Issue
Block a user