<?php
namespace App\Controller\Front;
use App\Form\ContactUsType;
use App\Repository\FaqSubjectRepository;
use App\Repository\JobRepository;
use App\Repository\ModuleRepository;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Address;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/common")
*/
class CommonController extends AbstractController
{
/**
* @Route("/banner", name="app_front_common_banner")
*/
public function banner(Request $request, ModuleRepository $moduleRepository, JobRepository $jobRepository) : Response {
$formBuilder = $this->createFormBuilder(null, [
'validation_groups' => false
]);
$formBuilder->add('searchKey', HiddenType::class, [
// 'class' => Module::class,
'label' => false,
// 'choices' => [],
// 'choice_label' => 'name',
]);
// $formBuilder->get('searchKey')->addModelTransformer($moduleToEntityTransformer);
$form = $formBuilder->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$searchKey = $form->get('searchKey')->getData();
$modules = $moduleRepository->findById($searchKey);
return (!empty($modules)) ? $this->redirectToRoute("app_front_library_module_details_page", ['slug' => $modules[0]->getSlug()]) : $this->redirectToRoute("app_front_library_page");
}
$moreUsedJobs = $jobRepository->findMoreUsedJobs();
return $this->render('front/components/banner-block.html.twig', [
'form' => $form->createView(),
'moreUsedJobs' => $moreUsedJobs
]);
}
}