diff --git a/modals/project_link_closed_ticket_modal.php b/modals/project_link_closed_ticket_modal.php
new file mode 100644
index 00000000..be93b6ab
--- /dev/null
+++ b/modals/project_link_closed_ticket_modal.php
@@ -0,0 +1,42 @@
+
diff --git a/post/user/project.php b/post/user/project.php
index 39e5d618..bf02acde 100644
--- a/post/user/project.php
+++ b/post/user/project.php
@@ -234,3 +234,38 @@ if (isset($_POST['link_ticket_to_project'])) {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
+
+if (isset($_POST['link_closed_ticket_to_project'])) {
+
+ enforceUserPermission('module_support', 2);
+ $project_id = intval($_POST['project_id']);
+ $ticket_number = intval($_POST['ticket_number']);
+
+ // Get Project Name and Client ID for logging
+ $sql = mysqli_query($mysqli, "SELECT project_client_id, project_name FROM projects WHERE project_id = $project_id");
+ $row = mysqli_fetch_array($sql);
+ $client_id = intval($row['project_client_id']);
+ $project_name = sanitizeInput($row['project_name']);
+
+ // Get ticket details
+ $sql = mysqli_query($mysqli, "SELECT ticket_id, ticket_prefix, ticket_number, ticket_subject, ticket_updated_at FROM tickets WHERE ticket_number = $ticket_number");
+ if (mysqli_num_rows($sql) == 0) {
+ $_SESSION['alert_message'] = "Cannot merge into that ticket.";
+ header("Location: " . $_SERVER["HTTP_REFERER"]);
+ exit();
+ }
+ $row = mysqli_fetch_array($sql);
+ $ticket_id = intval($row['ticket_id']);
+ $ticket_prefix = sanitizeInput($row['ticket_prefix']);
+ $ticket_number = intval($row['ticket_number']);
+ $ticket_subject = sanitizeInput($row['ticket_subject']);
+ $ticket_updated = sanitizeInput($row['ticket_updated_at']); // So we don't mess with the last response
+
+ mysqli_query($mysqli, "UPDATE tickets SET ticket_project_id = $project_id, ticket_updated_at = '$ticket_updated' WHERE ticket_id = $ticket_id");
+
+ // Logging
+ logAction("Project", "Edit", "$session_name added ticket $ticket_prefix$ticket_number - $ticket_subject to project $project_name", $client_id, $project_id);
+
+ $_SESSION['alert_message'] = "Ticket added to $project_name";
+ header("Location: " . $_SERVER["HTTP_REFERER"]);
+}
\ No newline at end of file
diff --git a/project_details.php b/project_details.php
index ca303319..ba893ef7 100644
--- a/project_details.php
+++ b/project_details.php
@@ -235,6 +235,10 @@ if (isset($_GET['project_id'])) {
Open Ticket
+
+
+ Closed Ticket
+
@@ -552,6 +556,7 @@ if (isset($_GET['project_id'])) {