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
Branches
Tags
No related merge requests found
...@@ -110,25 +110,14 @@ case 'search': ...@@ -110,25 +110,14 @@ case 'search':
// Clear sticky search queue // Clear sticky search queue
unset($_SESSION[$queue_key]); unset($_SESSION[$queue_key]);
break; 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 // Apply user filter
elseif (isset($_GET['uid']) && ($user = User::lookup($_GET['uid']))) { elseif (isset($_GET['uid']) && ($user = User::lookup($_GET['uid']))) {
$tickets->filter(array('user__id'=>$_GET['uid'])); $tickets->filter(array('user__id'=>$_GET['uid']));
$results_type = sprintf('%s — %s', __('Search Results'), $results_type = sprintf('%s — %s', __('Search Results'),
$user->getName()); $user->getName());
if (isset($_GET['status']))
$status = $_GET['status'];
// Don't apply normal open ticket // Don't apply normal open ticket
break; break;
} }
...@@ -136,8 +125,23 @@ case 'search': ...@@ -136,8 +125,23 @@ case 'search':
$tickets->filter(array('user__org_id'=>$_GET['orgid'])); $tickets->filter(array('user__org_id'=>$_GET['orgid']));
$results_type = sprintf('%s — %s', __('Search Results'), $results_type = sprintf('%s — %s', __('Search Results'),
$org->getName()); $org->getName());
if (isset($_GET['status']))
$status = $_GET['status'];
// Don't apply normal open ticket // Don't apply normal open ticket
break; 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 // Fall-through and show open tickets
case 'open': case 'open':
......
...@@ -37,9 +37,10 @@ if($_REQUEST['id']) { ...@@ -37,9 +37,10 @@ if($_REQUEST['id']) {
if ($_REQUEST['uid']) { if ($_REQUEST['uid']) {
$user = User::lookup($_REQUEST['uid']); $user = User::lookup($_REQUEST['uid']);
} elseif (!$ticket) { }
if (!$ticket) {
$queue_key = sprintf('::Q:%s', ObjectModel::OBJECT_TYPE_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])) if (!$queue_name && isset($_SESSION[$queue_key]))
$queue_name = $_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