Moved Tasks Card under Details, Added tje ability to Edit and mark a task complete

This commit is contained in:
johnnyq 2024-03-26 14:06:32 -04:00
parent c40c204ce1
commit 31184dab62
2 changed files with 90 additions and 32 deletions

View File

@ -30,6 +30,29 @@ if (isset($_POST['add_task'])) {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if (isset($_POST['edit_task'])) {
validateTechRole();
$task_id = intval($_POST['task_id']);
$task_name = sanitizeInput($_POST['name']);
$task_description = sanitizeInput($_POST['description']);
// Get Client ID
$sql = mysqli_query($mysqli, "SELECT * FROM tasks LEFT JOIN tickets ON ticket_id = task_ticket_id WHERE task_id = $task_id");
$row = mysqli_fetch_array($sql);
$client_id = intval($row['ticket_client_id']);
mysqli_query($mysqli, "UPDATE tasks SET task_name = '$task_name', task_description = '$task_description' WHERE task_id = $task_id");
// Logging
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Task', log_action = 'Edit', log_description = '$session_name edited task $task_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $task_id");
$_SESSION['alert_message'] = "You edited Task <strong>$task_name</strong>";
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if (isset($_GET['delete_task'])) {
@ -38,7 +61,7 @@ if (isset($_GET['delete_task'])) {
$task_id = intval($_GET['delete_task']);
// Get Client ID, task name from tasks and tickets using the task_id
$sql = mysqli_query($mysqli, "SELECT * FROM tasks LEFT JOIN tickets ON ticket_id = task_ticket_id");
$sql = mysqli_query($mysqli, "SELECT * FROM tasks LEFT JOIN tickets ON ticket_id = task_ticket_id WHERE task_id = $task_id");
$row = mysqli_fetch_array($sql);
$client_id = intval($row['ticket_client_id']);
$task_name = sanitizeInput($row['task_name']);
@ -49,7 +72,30 @@ if (isset($_GET['delete_task'])) {
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Task', log_action = 'Delete', log_description = '$session_name deleted task $task_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $task_id");
$_SESSION['alert_type'] = "error";
$_SESSION['alert_message'] = "You created Task <strong>$task_name</strong>";
$_SESSION['alert_message'] = "You Deleted Task <strong>$task_name</strong>";
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if (isset($_GET['complete_task'])) {
validateTechRole();
$task_id = intval($_GET['complete_task']);
// Get Client ID
$sql = mysqli_query($mysqli, "SELECT * FROM tasks LEFT JOIN tickets ON ticket_id = task_ticket_id WHERE task_id = $task_id");
$row = mysqli_fetch_array($sql);
$client_id = intval($row['ticket_client_id']);
$task_name = sanitizeInput($row['task_name']);
$ticket_id = intval($row['ticket_id']);
mysqli_query($mysqli, "UPDATE tasks SET task_completed_at = NOW(), task_completed_by = $session_user_id WHERE task_id = $task_id");
// Logging
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Task', log_action = 'Edit', log_description = '$session_name completed task $task_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $task_id");
$_SESSION['alert_message'] = "You completed Task <strong>$task_name</strong>";
header("Location: " . $_SERVER["HTTP_REFERER"]);
}

View File

@ -638,6 +638,47 @@ if (isset($_GET['ticket_id'])) {
<!-- End contact card -->
<!-- Tasks card -->
<?php if (mysqli_num_rows($sql_tasks) > 0) { ?>
<div class="card card-body card-outline card-dark mb-3">
<h5 class="text-secondary"><i class="fa fa-fw fa-tasks mr-2"></i>Tasks</h5>
<?php
// Get Tasks
while ($row = mysqli_fetch_array($sql_tasks)) {
$task_id = intval($row['task_id']);
$task_name = nullable_htmlentities($row['task_name']);
$task_description = nullable_htmlentities($row['task_description']);
$task_completed_at = nullable_htmlentities($row['task_completed_at']);
?>
<?php if($task_completed_at) { ?>
<div class='mt-1 text-success'>
<i class="fas fa-fw fa-check-circle mr-2"></i><s><?php echo $task_name; ?></s>
</div>
<?php } else { ?>
<div class='mt-1'>
<a href="post.php?complete_task=<?php echo $task_id; ?>"><i class="fas fa-fw fa-check-circle mr-2"></i></a><?php echo $task_name; ?>
<?php if ($ticket_status !== "Closed") { ?>
<div class="float-right">
<a href="#" data-toggle="modal" data-target="#editTaskModal<?php echo $task_id; ?>">
<i class="fas fa-fw fa-edit"></i>
</a>
<a class="confirm-link" href="post.php?delete_task=<?php echo $task_id; ?>">
<i class="fas fa-fw fa-trash-alt text-secondary"></i>
</a>
</div>
<?php } ?>
</div>
<?php require "task_edit_modal.php"; ?>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
<!-- End Tasks card -->
<!-- Ticket watchers card -->
<?php
$sql_ticket_watchers = mysqli_query($mysqli, "SELECT * FROM ticket_watchers WHERE watcher_ticket_id = $ticket_id ORDER BY watcher_email DESC");
@ -915,9 +956,7 @@ if (isset($_GET['ticket_id'])) {
<?php } ?>
</select>
<div class="input-group-append d-print-none">
<button type="submit" class="btn btn-primary" name="assign_ticket" <?php if ($ticket_status == "Closed") {
echo "disabled";
} ?>><i class="fas fa-check"></i></button>
<button type="submit" class="btn btn-primary" name="assign_ticket" <?php if ($ticket_status == "Closed") { echo "disabled"; } ?>><i class="fas fa-check"></i></button>
</div>
</div>
</div>
@ -940,33 +979,6 @@ if (isset($_GET['ticket_id'])) {
<?php } ?>
</div>
<!-- Tasks card -->
<?php if (mysqli_num_rows($sql_tasks) > 0) { ?>
<div class="card card-body card-outline card-dark mb-3">
<h5 class="text-secondary"><i class="fa fa-fw fa-tasks mr-2"></i>Tasks</h5>
<?php
// Get Watchers
while ($row = mysqli_fetch_array($sql_tasks)) {
$task_id = intval($row['task_id']);
$task_name = nullable_htmlentities($row['task_name']);
$task_description = nullable_htmlentities($row['task_description']);
?>
<div class='mt-1'>
<i class="fa fa-fw fa-checkmark text-secondary mr-2"></i><?php echo $task_name; ?>
<?php if ($ticket_status !== "Closed") { ?>
<a class="confirm-link float-right" href="post.php?delete_task=<?php echo $task_id; ?>">
<i class="fas fa-fw fa-trash-alt text-secondary"></i>
</a>
<?php } ?>
</div>
<?php } ?>
</div>
<?php } ?>
<!-- End Tasks card -->
</div> <!-- End col-3 -->
</div> <!-- End row -->