<?php
namespace App\Controller;
use App\Entity\User;
use App\Entity\Ticket;
use App\Entity\Category;
use App\Entity\SousCategory;
use App\Form\TicketType;
use App\Form\TicketTypeUser;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Console\Logger\ConsoleLogger;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Psr\Log\LoggerInterface;
use Doctrine\ORM\EntityManagerInterface;
class TicketController extends AbstractController
{
/**
* @Route("/ticket", name="ticket")
*/
public function index(Request $request, LoggerInterface $logger,EntityManagerInterface $entityManager)
{
$category = $entityManager->getRepository(Category::class)->findAll();
$sousCategory = $entityManager->getRepository(SousCategory::class)->findAll();
$ticket = new Ticket();
if($this->getUser() == null){
$form = $this->createForm(TicketType::class, $ticket);
}else{
$form = $this->createForm(TicketTypeUser::class, $ticket);
}
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
if($this->getUser() != null){
/** @var User $user */
$user= $this->getUser();
$ticket->setNom($user->getFirstname());
$ticket->setMail($user->getEmail());
}
$entityManager->persist($ticket);
$entityManager->flush();
return $this->redirectToRoute('home');
}
return $this->render('ticket/index.html.twig', [
'submitted' => $form->isSubmitted(),
'formticket' => $form->createView(),
'category'=> $category,
'sousCategory'=> $sousCategory,
]);
}
}