diff --git a/src/Controller/SearchController.php b/src/Controller/SearchController.php index ea9e8425..fe99eb86 100644 --- a/src/Controller/SearchController.php +++ b/src/Controller/SearchController.php @@ -38,15 +38,36 @@ class SearchController extends BaseController $results = $search->search($search_term); // process rows - // this is not how to process the results. - // TODO: fix this asap $rows = []; - foreach ($obj_rows as $orow) { - // add row data - $row['id'] = $orow[0]->getID(); + // get the legacy job order results + foreach($results['legacy_job_orders'] as $lrow) + { + $row['id'] = $lrow->getID(); + $row['name'] = $lrow->getCustName(); + $row['plate_number'] = $lrow->getPlateNumber(); $rows[] = $row; } + + // get the job order results + foreach($results['job_orders'] as $jrow) + { + $row['id'] = $jrow->getID(); + $row['name'] = $jrow->getCustomer()->getFirstName() . " " . $jrow->getCustomer()->getLastName(); + $row['plate_number'] = $jrow->getCustomerVehicle()->getPlateNumber(); + + $rows[] = $row; + } + + // get the warranties results + foreach($results['warranties'] as $wrow) + { + $row['id'] = $wrow->getID(); + $row['name'] = $wrow->getFirstName() . " " . $wrow->getLastName(); + $row['plate_number'] = $wrow->getPlateNumber(); + + $rows[] = $row; + } return $this->json([ 'data' => $rows diff --git a/src/Service/GeneralSearch.php b/src/Service/GeneralSearch.php index a6da2685..5a5b47ed 100644 --- a/src/Service/GeneralSearch.php +++ b/src/Service/GeneralSearch.php @@ -8,6 +8,8 @@ use App\Entity\Warranty; use Doctrine\ORM\EntityManagerInterface; +define("SEARCH_MAX_RESULTS", "20"); + class GeneralSearch { protected $em; @@ -30,6 +32,7 @@ class GeneralSearch OR l.cust_first_name LIKE :search_term OR l.cust_contact LIKE :search_term') ->setParameter('search_term', "%" . $search_term . "%") + ->setMaxResults(SEARCH_MAX_RESULTS) ->getResult(); // query current job orders for plate number, name(first, last), phone number(mobile, landline, office, fax) @@ -45,6 +48,7 @@ class GeneralSearch OR c.phone_office LIKE :search_term OR c.phone_fax LIKE :search_term') ->setParameter('search_term', "%" . $search_term . "%") + ->setMaxResults(SEARCH_MAX_RESULTS) ->getResult(); // query warranty for plate number, name(first, last), phone number(mobile) @@ -54,6 +58,7 @@ class GeneralSearch OR w.last_name LIKE :search_term OR w.mobile_number LIKE :search_term') ->setParameter('search_term', "%" . $search_term . "%") + ->setMaxResults(SEARCH_MAX_RESULTS) ->getResult(); $results = array('legacy_job_orders'=>$legacy_job_orders, 'job_orders'=>$job_orders, 'warranties'=>$warranties); diff --git a/templates/search/list.html.twig b/templates/search/list.html.twig index 7c325483..2a16c22d 100644 --- a/templates/search/list.html.twig +++ b/templates/search/list.html.twig @@ -23,9 +23,9 @@