From b8d17be0153376053938892637428009844fd4c8 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Wed, 12 Feb 2025 18:45:05 -0500 Subject: [PATCH] Fix Ticket Priority Sorting, now sorts by prioty when clicked --- client_recurring_tickets.php | 14 +++++++++++++- client_tickets.php | 14 +++++++++++++- recurring_tickets.php | 14 +++++++++++++- tickets.php | 14 +++++++++++++- 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/client_recurring_tickets.php b/client_recurring_tickets.php index 3d617498..b4347996 100644 --- a/client_recurring_tickets.php +++ b/client_recurring_tickets.php @@ -19,7 +19,19 @@ $sql = mysqli_query( LEFT JOIN clients on scheduled_ticket_client_id = client_id WHERE scheduled_ticket_client_id = $client_id AND scheduled_tickets.scheduled_ticket_subject LIKE '%$q%' - ORDER BY $sort $order LIMIT $record_from, $record_to" + ORDER BY + CASE + WHEN '$sort' = 'scheduled_ticket_priority' THEN + CASE ticket_priority + WHEN 'High' THEN 1 + WHEN 'Medium' THEN 2 + WHEN 'Low' THEN 3 + ELSE 4 -- Optional: for unexpected priority values + END + ELSE NULL + END $order, + $sort $order -- Apply normal sorting by $sort and $order + LIMIT $record_from, $record_to" ); $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); diff --git a/client_tickets.php b/client_tickets.php index 0571161c..3659c073 100644 --- a/client_tickets.php +++ b/client_tickets.php @@ -46,7 +46,19 @@ $sql = mysqli_query( AND $ticket_status_snippet AND $ticket_billable_snippet AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_status_name LIKE '%$q%' OR ticket_priority LIKE '%$q%' OR user_name LIKE '%$q%' OR contact_name LIKE '%$q%' OR asset_name LIKE '%$q%' OR vendor_name LIKE '%$q%' OR ticket_vendor_ticket_number LIKE '%q%') - ORDER BY $sort $order LIMIT $record_from, $record_to" + ORDER BY + CASE + WHEN '$sort' = 'ticket_priority' THEN + CASE ticket_priority + WHEN 'High' THEN 1 + WHEN 'Medium' THEN 2 + WHEN 'Low' THEN 3 + ELSE 4 -- Optional: for unexpected priority values + END + ELSE NULL + END $order, + $sort $order -- Apply normal sorting by $sort and $order + LIMIT $record_from, $record_to" ); $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); diff --git a/recurring_tickets.php b/recurring_tickets.php index 655ef06e..e4f14217 100644 --- a/recurring_tickets.php +++ b/recurring_tickets.php @@ -25,7 +25,19 @@ $sql = mysqli_query( LEFT JOIN clients on scheduled_ticket_client_id = client_id WHERE scheduled_tickets.scheduled_ticket_subject LIKE '%$q%' $rec_ticket_permission_snippet - ORDER BY $sort $order LIMIT $record_from, $record_to" + ORDER BY + CASE + WHEN '$sort' = 'scheduled_ticket_priority' THEN + CASE ticket_priority + WHEN 'High' THEN 1 + WHEN 'Medium' THEN 2 + WHEN 'Low' THEN 3 + ELSE 4 -- Optional: for unexpected priority values + END + ELSE NULL + END $order, + $sort $order -- Apply normal sorting by $sort and $order + LIMIT $record_from, $record_to" ); $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); diff --git a/tickets.php b/tickets.php index a1605de9..28301380 100644 --- a/tickets.php +++ b/tickets.php @@ -90,7 +90,19 @@ $sql = mysqli_query( AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_status_name LIKE '%$q%' OR ticket_priority LIKE '%$q%' OR user_name LIKE '%$q%' OR contact_name LIKE '%$q%' OR asset_name LIKE '%$q%' OR vendor_name LIKE '%$q%' OR ticket_vendor_ticket_number LIKE '%q%') $ticket_permission_snippet - ORDER BY $sort $order LIMIT $record_from, $record_to" + ORDER BY + CASE + WHEN '$sort' = 'ticket_priority' THEN + CASE ticket_priority + WHEN 'High' THEN 1 + WHEN 'Medium' THEN 2 + WHEN 'Low' THEN 3 + ELSE 4 -- Optional: for unexpected priority values + END + ELSE NULL + END $order, + $sort $order -- Apply normal sorting by $sort and $order + LIMIT $record_from, $record_to" ); $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));