Skip to content
Snippets Groups Projects
Commit 63f45e7f authored by Jared Hancock's avatar Jared Hancock Committed by Peter Rotich
Browse files

search: Fix typeahead search on email address

parent 5e3bdb07
No related branches found
No related tags found
No related merge requests found
...@@ -46,7 +46,9 @@ class TicketsAjaxAPI extends AjaxController { ...@@ -46,7 +46,9 @@ class TicketsAjaxAPI extends AjaxController {
->values('user__default_email__address') ->values('user__default_email__address')
->annotate(array( ->annotate(array(
'number' => new SqlCode('null'), 'number' => new SqlCode('null'),
'tickets' => SqlAggregate::COUNT('ticket_id', true))) 'tickets' => SqlAggregate::COUNT('ticket_id', true),
))
->order_by(SqlAggregate::SUM(new SqlCode('Z1.relevance')), QuerySet::DESC)
->limit($limit); ->limit($limit);
$q = $_REQUEST['q']; $q = $_REQUEST['q'];
...@@ -55,18 +57,17 @@ class TicketsAjaxAPI extends AjaxController { ...@@ -55,18 +57,17 @@ class TicketsAjaxAPI extends AjaxController {
return $this->encode(array()); return $this->encode(array());
global $ost; global $ost;
$hits = $ost->searcher->find($q, $hits) $hits = $ost->searcher->find($q, $hits, false);
->order_by(new SqlCode('__relevance__'), QuerySet::DESC);
if (preg_match('/\d{2,}[^*]/', $q, $T = array())) { if (preg_match('/\d{2,}[^*]/', $q, $T = array())) {
$hits = Ticket::objects() $hits = Ticket::objects()
->values('user__default_email__address', 'number') ->values('user__default_email__address', 'number')
->annotate(array( ->annotate(array(
'tickets' => new SqlCode('1'), 'tickets' => new SqlCode('1'),
'__relevance__' => new SqlCode(1)
)) ))
->filter($visibility) ->filter($visibility)
->filter(array('number__startswith' => $q)) ->filter(array('number__startswith' => $q))
->order_by('number')
->limit($limit) ->limit($limit)
->union($hits); ->union($hits);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment