diff --git a/admin_side_nav.php b/admin_side_nav.php index 96f53c6e..6231838f 100644 --- a/admin_side_nav.php +++ b/admin_side_nav.php @@ -1,177 +1,119 @@ \ No newline at end of file + diff --git a/admin_ticket_template_add_modal.php b/admin_ticket_template_add_modal.php new file mode 100644 index 00000000..f9859a6d --- /dev/null +++ b/admin_ticket_template_add_modal.php @@ -0,0 +1,135 @@ + diff --git a/admin_ticket_template_details.php b/admin_ticket_template_details.php new file mode 100644 index 00000000..d4c451b2 --- /dev/null +++ b/admin_ticket_template_details.php @@ -0,0 +1,125 @@ +set('URI.AllowedSchemes', ['data' => true, 'src' => true, 'http' => true, 'https' => true]); +$purifier = new HTMLPurifier($purifier_config); + +if (isset($_GET['ticket_template_id'])) { + $ticket_template_id = intval($_GET['ticket_template_id']); +} + +$sql_ticket_templates = mysqli_query($mysqli, "SELECT * FROM ticket_templates WHERE ticket_template_id = $ticket_template_id"); + +$row = mysqli_fetch_array($sql_ticket_templates); + +$ticket_template_name = nullable_htmlentities($row['ticket_template_name']); +$ticket_template_description = nullable_htmlentities($row['ticket_template_description']); +$ticket_template_subject = nullable_htmlentities($row['ticket_template_subject']); +$ticket_template_details = $purifier->purify($row['ticket_template_details']); +$ticket_template_created_at = nullable_htmlentities($row['ticket_template_created_at']); +$ticket_template_updated_at = nullable_htmlentities($row['ticket_template_updated_at']); + +// Get Task Templates +$sql_task_templates = mysqli_query($mysqli, "SELECT * FROM task_templates WHERE task_template_ticket_template_id = $ticket_template_id"); + +?> + + + +
+
+ +
+
+

+
+ +
+

+
+
+
+

+
+ +
+
+
+
+ +
+
+ +
+ +
+ +
+
+
Tasks
+
+
+
+ +
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + +
+ + + +
+
+
+ +
+ +
+ + + + + + diff --git a/admin_ticket_templates.php b/admin_ticket_templates.php new file mode 100644 index 00000000..489fce83 --- /dev/null +++ b/admin_ticket_templates.php @@ -0,0 +1,128 @@ + + +
+
+

Ticket Templates

+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+ + "> + + + + + + + + + + + + + + + + + +
TemplateTasksAction
+ + + + 0 + +
+
+ +
+
+ +$name"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if (isset($_POST['edit_ticket_template'])) { + + validateTechRole(); + $ticket_template_id = intval($_POST['ticket_template_id']); + $name = sanitizeInput($_POST['name']); + $description = sanitizeInput($_POST['description']); + $subject = sanitizeInput($_POST['subject']); + $details = mysqli_real_escape_string($mysqli, $_POST['details']); + $project_template_id = intval($_POST['project_template']); + + mysqli_query($mysqli, "UPDATE ticket_templates SET ticket_template_name = '$name', ticket_template_description = '$description', ticket_template_subject = '$subject', ticket_template_details = '$details', ticket_template_project_template_id = $project_template_id WHERE ticket_template_id = $ticket_template_id"); + + $ticket_template_id = mysqli_insert_id($mysqli); + + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Ticket Template', log_action = 'Edit', log_description = '$session_name edited ticket template $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $ticket_template_id"); + + $_SESSION['alert_message'] = "You edited Ticket Template $name"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); +} + +if (isset($_GET['delete_ticket_template'])) { + + validateTechRole(); + + $ticket_template_id = intval($_GET['delete_ticket_template']); + + // Get ticket template name + $sql = mysqli_query($mysqli, "SELECT * FROM ticket_templates WHERE ticket_template_id = $ticket_template_id"); + $row = mysqli_fetch_array($sql); + $ticket_template_name = sanitizeInput($row['ticket_template_name']); + + mysqli_query($mysqli, "DELETE FROM ticket_templates WHERE ticket_template_id = $ticket_template_id"); + + // Delete Associated Tasks + mysqli_query($mysqli, "DELETE FROM task_templates WHERE task_template_ticket_template_id = $ticket_template_id"); + + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Ticket Template', log_action = 'Delete', log_description = '$session_name deleted ticket template $ticket_template_name and its tasks', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $ticket_template_id"); + + $_SESSION['alert_type'] = "error"; + $_SESSION['alert_message'] = "You Deleted Ticket Template $ticket_template_name and its associated tasks"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); +} + +if (isset($_POST['add_ticket_template_task'])) { + + validateTechRole(); + $ticket_template_id = intval($_POST['ticket_template_id']); + $task_name = sanitizeInput($_POST['task_name']); + + mysqli_query($mysqli, "INSERT INTO task_templates SET task_template_name = '$task_name', task_template_ticket_template_id = $ticket_template_id"); + + $task_template_id = mysqli_insert_id($mysqli); + + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Task Template', log_action = 'Create', log_description = '$session_name created task template $task_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $ticket_template_id"); + + $_SESSION['alert_message'] = "You created Task Template $task_name"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if (isset($_GET['delete_task_template'])) { + + validateTechRole(); + + $task_template_id = intval($_GET['delete_task_template']); + + // Get task template name + $sql = mysqli_query($mysqli, "SELECT * FROM task_templates WHERE task_template_id = $task_template_id"); + $row = mysqli_fetch_array($sql); + $task_template_name = sanitizeInput($row['task_template_name']); + + mysqli_query($mysqli, "DELETE FROM task_templates WHERE task_template_id = $task_template_id"); + + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Task Template', log_action = 'Delete', log_description = '$session_name deleted task template $task_template_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $task_template_id"); + + $_SESSION['alert_type'] = "error"; + $_SESSION['alert_message'] = "You Deleted Task Template $task_template_name"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); +} diff --git a/post/ticket.php b/post/ticket.php index d0ea42d4..26e628d7 100644 --- a/post/ticket.php +++ b/post/ticket.php @@ -56,6 +56,17 @@ if (isset($_POST['add_ticket'])) { $ticket_id = mysqli_insert_id($mysqli); + // Add Tasks + if (!empty($_POST['tasks'])) { + foreach ($_POST['tasks'] as $task) { + $task_name = sanitizeInput($task); + // Check that task_name is not-empty (For some reason the !empty on the array doesnt work here like in watchers) + if (!empty($task_name)) { + mysqli_query($mysqli,"INSERT INTO tasks SET task_name = '$task_name', task_ticket_id = $ticket_id"); + } + } + } + // Add Watchers if (!empty($_POST['watchers'])) { foreach ($_POST['watchers'] as $watcher) { diff --git a/ticket.php b/ticket.php index 0e753ac6..0fbe5dc9 100644 --- a/ticket.php +++ b/ticket.php @@ -749,45 +749,67 @@ if (isset($_GET['ticket_id'])) { - - 0) { ?> -
-
Tasks
- + +
+
Tasks
+
+ +
+
+
+ +
+ +
+ +
+
+
+
+ - - -
- -
- -
- - - + ?> +
+ + + + - - - +
+ + + + + + - - - - + +
+ +
+
+
+ diff --git a/ticket_add_modal.php b/ticket_add_modal.php index 23a415aa..0ee8c3b0 100644 --- a/ticket_add_modal.php +++ b/ticket_add_modal.php @@ -27,6 +27,9 @@ + @@ -191,7 +194,7 @@
+
+ +
+ + + + +