Author: sevein
Date: Tue Mar 27 16:17:19 2012
New Revision: 11292
Log:
Return sfView::NONE when no results
Modified:
trunk/plugins/qtDominionPlugin/modules/search/actions/autocompleteAction.class.php
Modified:
trunk/plugins/qtDominionPlugin/modules/search/actions/autocompleteAction.class.php
==============================================================================
---
trunk/plugins/qtDominionPlugin/modules/search/actions/autocompleteAction.class.php
Tue Mar 27 16:00:33 2012 (r11291)
+++
trunk/plugins/qtDominionPlugin/modules/search/actions/autocompleteAction.class.php
Tue Mar 27 16:17:19 2012 (r11292)
@@ -20,15 +20,13 @@
{
public function execute($request)
{
- $this->setLayout(false);
-
// remove wildcard characters so we have a clean term query
$querystring = strtr($this->request->query, array('*' => '', '?' => ''));
// if querystring is empty, don't query
if ('' == preg_replace('/[\s\t\r\n]*/', '', $querystring))
{
- exit; // FIXME: 'return' still renders part of the template
+ return sfView::NONE;
}
$query = new Elastica_Query();
@@ -38,18 +36,27 @@
$query->setFields(array('slug', 'i18n'));
$query->setQuery(new Elastica_Query_Wildcard('i18n.title', $querystring .
'*'));
$this->descriptions =
QubitSearch::getInstance()->index->getType('QubitInformationObject')->search($query);
+ $this->descriptionsHits = $this->descriptions->getTotalHits();
$query->setFields(array('slug', 'i18n'));
$query->setQuery(new Elastica_Query_Wildcard('i18n.authorizedFormOfName',
$querystring . '*'));
$this->actors =
QubitSearch::getInstance()->index->getType('QubitActor')->search($query);
+ $this->actorsHits = $this->actors->getTotalHits();
$query->setFields(array('slug', 'actor'));
$query->setQuery(new Elastica_Query_Wildcard('actor.authorizedFormOfName',
$querystring . '*'));
- $this->repos =
QubitSearch::getInstance()->index->getType('QubitRepository')->search($query);
+ $this->repositories =
QubitSearch::getInstance()->index->getType('QubitRepository')->search($query);
+ $this->repositoriesHits = $this->repositories->getTotalHits();
$filter = new Elastica_Filter_Term();
$query->setFields(array('slug', 'i18n'));
$query->setQuery(new Elastica_Query_Wildcard('i18n.name', $querystring .
'*'));
$this->subjects =
QubitSearch::getInstance()->index->getType('QubitTerm')->search($query->setFilter($filter->setTerm('taxonomyId',
QubitTaxonomy::SUBJECT_ID)));
+ $this->subjectsHits = $this->subjects->getTotalHits();
+
+ if (0 == $this->descriptionsHits && 0 == $this->actorsHits && 0 ==
$this->repositoriesHits && 0 == $this->subjectsHits)
+ {
+ return sfView::NONE;
+ }
}
-}
\ No newline at end of file
+}
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.