Skip to content
Snippets Groups Projects
Commit 3b54c6e7 authored by Jared Hancock's avatar Jared Hancock
Browse files

search: Prefer user search of current advanced search

Also, apply requested state to the user and organization tickets search.
parent b528df56
No related branches found
No related tags found
No related merge requests found
......@@ -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':
......
......@@ -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];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment