resq/src/Controller/SearchController.php

68 lines
1.8 KiB
PHP

<?php
namespace App\Controller;
use App\Ramcar\BaseController;
use App\Service\GeneralSearch;
use App\Entity\LegacyJobOrder;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Menu\Generator as MenuGenerator;
use App\Access\Generator as ACLGenerator;
class SearchController extends BaseController
{
protected $acl_gen;
public function __construct(MenuGenerator $menu_gen, ACLGenerator $acl_gen)
{
$this->acl_gen = $acl_gen;
parent::__construct($menu_gen);
}
public function index()
{
$this->denyaccessUnlessGranted('general.search', null, 'No access.');
$params = $this->initParameters('general_search');
$params["mode"] = "form";
// response
return $this->render('search/form.html.twig', $params);
}
public function search(Request $req, GeneralSearch $search)
{
$this->denyAccessUnlessGranted('general.search', null, 'No access.');
$params = $this->initParameters('general_search');
$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);
}
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 = $this->initParameters('general.search');
$params['data'] = $legacy_jo;
$params['mode'] = "details";
// response
return $this->render('search/legacyjo_details.html.twig', $params);
}
}