diff --git a/include/class.queue.php b/include/class.queue.php index 8a39e0f55b9148adf9b1262973c6f79b6744332b..ed07a8f7cd5e03fc96dd30d5c8fe7674c0985736 100644 --- a/include/class.queue.php +++ b/include/class.queue.php @@ -969,6 +969,9 @@ class CustomQueue extends VerySimpleModel { if (list(,$field) = $searchable[$name]) if ($q = $field->getSearchQ($method, $value, $name)) $qs = $qs->filter($q); + + // Add default sorting to non-keyword searches + $qs->order_by(array('-created')); } } diff --git a/include/staff/templates/queue-tickets.tmpl.php b/include/staff/templates/queue-tickets.tmpl.php index 49a8eb2461becec6470e55dc755cc42ee42aae31..3afaa410b55b8e6b5b3b03697a5ae3bde16b8072 100644 --- a/include/staff/templates/queue-tickets.tmpl.php +++ b/include/staff/templates/queue-tickets.tmpl.php @@ -90,8 +90,10 @@ if (isset($tickets->extra['tables'])) { $criteria->annotations = $criteria->related = $criteria->aggregated = $criteria->annotations = $criteria->ordering = []; $tickets->constraints = $tickets->extra = []; + $criteria->extra(array('select' => array('relevance' => 'Z1.relevance'))); $tickets = $tickets->filter(['ticket_id__in' => $criteria->values_flat('ticket_id')]); + $tickets->order_by(new SqlCode('relevance'), QuerySet::DESC); # Index hint should be used on the $criteria query only $tickets->clearOption(QuerySet::OPT_INDEX_HINT); }