src/Controller/TicketController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Entity\Ticket;
  5. use App\Entity\Category;
  6. use App\Entity\SousCategory;
  7. use App\Form\TicketType;
  8. use App\Form\TicketTypeUser;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\Console\Logger\ConsoleLogger;
  11. use Symfony\Component\Form\FormBuilderInterface;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Component\Form\Extension\Core\Type\TextType;
  16. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  17. use Psr\Log\LoggerInterface;
  18. use Doctrine\ORM\EntityManagerInterface;
  19. class TicketController extends AbstractController
  20. {
  21.     /**
  22.      * @Route("/ticket", name="ticket")
  23.      */
  24.     public function index(Request $requestLoggerInterface $logger,EntityManagerInterface $entityManager)
  25.     {
  26.         
  27.         $category $entityManager->getRepository(Category::class)->findAll();
  28.         $sousCategory $entityManager->getRepository(SousCategory::class)->findAll();
  29.         $ticket = new Ticket();
  30.         if($this->getUser() == null){
  31.             $form $this->createForm(TicketType::class, $ticket);
  32.         }else{
  33.             $form $this->createForm(TicketTypeUser::class, $ticket);
  34.         }
  35.         $form->handleRequest($request);
  36.         
  37.         if ($form->isSubmitted() && $form->isValid()) {
  38.             if($this->getUser() != null){
  39.                 /** @var User $user */
  40.                 $user$this->getUser();
  41.                 $ticket->setNom($user->getFirstname());
  42.                 $ticket->setMail($user->getEmail());
  43.             }
  44.             
  45.             $entityManager->persist($ticket);
  46.             $entityManager->flush();
  47.             return $this->redirectToRoute('home');
  48.         }
  49.         
  50.         return $this->render('ticket/index.html.twig', [
  51.             'submitted' => $form->isSubmitted(),
  52.             'formticket' => $form->createView(),
  53.             'category'=> $category,
  54.             'sousCategory'=> $sousCategory,
  55.         ]);
  56.     }
  57. }