diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php index 7ec261761af5562bc1014a2f945440b2814df0c5..2de6870684e91b2dab0be14d1bb03182c3f9d643 100644 --- a/include/staff/tickets.inc.php +++ b/include/staff/tickets.inc.php @@ -110,25 +110,14 @@ case 'search': // Clear sticky search queue unset($_SESSION[$queue_key]); break; - } elseif (isset($_SESSION['advsearch'])) { - $form = $search->getFormFromSession('advsearch'); - $tickets = $search->mangleQuerySet($tickets, $form); - $view_all_tickets = $thisstaff->hasPerm(SearchBackend::PERM_EVERYTHING); - $results_type=__('Advanced Search') - . '<a class="action-button" style="font-size: 15px;" href="?clear_filter"><i style="top:0" class="icon-ban-circle"></i> <em>' . __('clear') . '</em></a>'; - foreach ($form->getFields() as $sf) { - if ($sf->get('name') == 'keywords' && $sf->getClean()) { - $has_relevance = true; - break; - } - } - break; } // Apply user filter elseif (isset($_GET['uid']) && ($user = User::lookup($_GET['uid']))) { $tickets->filter(array('user__id'=>$_GET['uid'])); $results_type = sprintf('%s — %s', __('Search Results'), $user->getName()); + if (isset($_GET['status'])) + $status = $_GET['status']; // Don't apply normal open ticket break; } @@ -136,8 +125,23 @@ case 'search': $tickets->filter(array('user__org_id'=>$_GET['orgid'])); $results_type = sprintf('%s — %s', __('Search Results'), $org->getName()); + if (isset($_GET['status'])) + $status = $_GET['status']; // Don't apply normal open ticket break; + } elseif (isset($_SESSION['advsearch'])) { + $form = $search->getFormFromSession('advsearch'); + $tickets = $search->mangleQuerySet($tickets, $form); + $view_all_tickets = $thisstaff->hasPerm(SearchBackend::PERM_EVERYTHING); + $results_type=__('Advanced Search') + . '<a class="action-button" style="font-size: 15px;" href="?clear_filter"><i style="top:0" class="icon-ban-circle"></i> <em>' . __('clear') . '</em></a>'; + foreach ($form->getFields() as $sf) { + if ($sf->get('name') == 'keywords' && $sf->getClean()) { + $has_relevance = true; + break; + } + } + break; } // Fall-through and show open tickets case 'open': diff --git a/scp/tickets.php b/scp/tickets.php index 8ae7ca004d88ae3b22d1e93d1013bd006aa516fc..e4c1fc10345bcd549ed8ca1e2fbbcbfa862f17aa 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -37,9 +37,10 @@ if($_REQUEST['id']) { if ($_REQUEST['uid']) { $user = User::lookup($_REQUEST['uid']); -} elseif (!$ticket) { +} +if (!$ticket) { $queue_key = sprintf('::Q:%s', ObjectModel::OBJECT_TYPE_TICKET); - $queue_name = strtolower($_GET['status'] ?: $_GET['a']); //Status is overloaded + $queue_name = strtolower($_GET['a'] ?: $_GET['status']); //Status is overloaded if (!$queue_name && isset($_SESSION[$queue_key])) $queue_name = $_SESSION[$queue_key];