resq/src/Controller/SearchController.php

65 lines
1.7 KiB
PHP

<?php
namespace App\Controller;
use App\Service\GeneralSearch;
use App\Entity\LegacyJobOrder;
use App\Entity\LegacyJobOrderRow;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Catalyst\MenuBundle\Annotation\Menu;
class SearchController extends Controller
{
/**
* @Menu(selected="general_search")
*/
public function index()
{
$this->denyaccessUnlessGranted('general.search', null, 'No access.');
$params["mode"] = "form";
// response
return $this->render('search/form.html.twig', $params);
}
/**
* @Menu(selected="general_search")
*/
public function search(Request $req, GeneralSearch $search)
{
$this->denyAccessUnlessGranted('general.search', null, 'No access.');
$search_term = $req->query->get('search');
$results = $search->search($search_term);
$params['data'] = $results;
$params['search_term'] = $search_term;
$params['mode'] = "results";
// response
return $this->render('search/form.html.twig', $params);
}
/**
* @Menu(selected="general_search")
*/
public function legacyJODetails($id)
{
$this->denyAccessUnlessGranted('general.search', null, 'No access.');
// get legacy job order
$em = $this->getDoctrine()->getManager();
$legacy_jo = $em->getRepository(LegacyJobOrder::class)->find($id);
$params['data'] = $legacy_jo;
$params['mode'] = "details";
// response
return $this->render('search/legacyjo_details.html.twig', $params);
}
}