Browse Source

Revert some changes breaking search functionality, fixes #595

Jordi Boggiano 9 years ago
parent
commit
ba8ebac2d6
1 changed files with 14 additions and 9 deletions
  1. 14 9
      src/Packagist/WebBundle/Controller/WebController.php

+ 14 - 9
src/Packagist/WebBundle/Controller/WebController.php

@@ -45,7 +45,9 @@ class WebController extends Controller
 
         $this->computeSearchQuery($req, $filteredOrderBys);
 
-        $form->handleRequest($req);
+        if ($req->query->has('search_query')) {
+            $form->submit($req);
+        }
 
         $orderBysViewModel = $this->getOrderBysViewModel($req, $normalizedOrderBys);
         return $this->render('PackagistWebBundle:Web:searchForm.html.twig', array(
@@ -105,15 +107,18 @@ class WebController extends Controller
                 $select->addSorts($normalizedOrderBys);
             }
 
-            $form->handleRequest($req);
-            if ($form->isValid()) {
-                $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
-                $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
-                $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
-                if ((substr_count($escapedQuery, '"') % 2) == 0) {
-                    $escapedQuery = str_replace('\\"', '"', $escapedQuery);
+            if ($req->query->has('search_query')) {
+                $form->submit($req);
+
+                if ($form->isValid()) {
+                    $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
+                    $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
+                    if ((substr_count($escapedQuery, '"') % 2) == 0) {
+                        $escapedQuery = str_replace('\\"', '"', $escapedQuery);
+                    }
+                    $select->setQuery($escapedQuery);
                 }
-                $select->setQuery($escapedQuery);
             }
 
             $paginator = new Pagerfanta(new SolariumAdapter($solarium, $select));