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.

Reply via email to