68 lines
1.8 KiB
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);
|
|
}
|
|
}
|