diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php index cbe8a6a982c22ee6c5c2ecfc2427164f9254e65d..470c69fe0ec4e258e95b28336a8d98ac99933b9b 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';