65 lines
1.7 KiB
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);
|
|
}
|
|
}
|