From e71a36bacd1db76bdd6d80f630c7a9782bcd68c9 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Wed, 8 Aug 2012 13:15:28 -0400 Subject: [PATCH] Add sticky sort to open tickets --- include/staff/tickets.inc.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php index cbe8a6a98..470c69fe0 100644 --- a/include/staff/tickets.inc.php +++ b/include/staff/tickets.inc.php @@ -193,15 +193,27 @@ $orderWays=array('DESC'=>'DESC','ASC'=>'ASC'); $order_by=$order=null; if($_REQUEST['sort'] && $sortOptions[$_REQUEST['sort']]) $order_by =$sortOptions[$_REQUEST['sort']]; +elseif(!strcasecmp($status, 'open') && !$showanswered && $sortOptions[$_SESSION['tickets']['sort']]) { + $_REQUEST['sort'] = $_SESSION['tickets']['sort']; + $order_by = $sortOptions[$_SESSION['tickets']['sort']]; + $order = $_SESSION['tickets']['order']; +} if($_REQUEST['order'] && $orderWays[strtoupper($_REQUEST['order'])]) $order=$orderWays[strtoupper($_REQUEST['order'])]; +//Save sort order for sticky sorting. +if(!strcasecmp($status, 'open') && $_REQUEST['sort']) { + $_SESSION['tickets']['sort'] = $_REQUEST['sort']; + $_SESSION['tickets']['order'] = $_REQUEST['order']; +} + if(!$order_by && $showanswered) { $order_by='ticket.lastresponse, ticket.created'; //No priority sorting for answered tickets. }elseif(!$order_by && !strcasecmp($status,'closed')){ $order_by='ticket.closed, ticket.created'; //No priority sorting for closed tickets. } + $order_by =$order_by?$order_by:'priority_urgency, effective_date, ticket.created'; $order=$order?$order:'ASC'; -- GitLab