src/Controller/TombolaController.php line 20
<?phpnamespace App\Controller;use App\Entity\CommandeTicket;use App\Entity\Reservation;use App\Entity\Tombola;use App\Entity\User;use App\Form\CommandeTicketType;use App\Net15\PaiementBundle\Entity\ModePaiement;use App\Repository\CommandeTicketRepository;use App\Repository\TombolaRepository;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;class TombolaController extends AbstractController{#[Route('/tombola/{tombola}', name: 'app_tombola_front_commande')]public function app_tombola_front_commande(Tombola $tombola,Request $request,CommandeTicketRepository $repository,TombolaRepository $tombolaRepository): Response{$user = $this->getUser();if(!$user instanceof User){return $this->redirectToRoute('login');}// Nouvelle commande liée à cette tombola$commande = new CommandeTicket($tombola, $user);// Création du formulaire$form = $this->createForm(CommandeTicketType::class, $commande);$form->handleRequest($request);// Si le formulaire est soumis et valideif ($form->isSubmitted() && $form->isValid()) {// Mise à jour des compteurs de tickets$commande->setQuantite(count($commande->getTickets()));$commande->setPrix($tombola->getPrix());$commande->setModePaiement(ModePaiement::PAYBOX);$commande->setStatus(CommandeTicket::STATUT_EN_ATTENTE_PAIEMENT);$repository->save($commande);$tombola->venteTicket($commande->getQuantite());$tombolaRepository->save($tombola);$this->addFlash('success', 'Votre commande a bien été enregistrée !');$recapitulatif = ['type' => 'tombola','id' => $commande->getId(),'name' => $commande->getQuantite()." ticket(s) de tombola",'price' => $commande->getTotalPrice(),'email' => $commande->getUser()->getEmail(),];return $this->redirectToRoute('paiement_payer', ['parent_entity_class' => null,'parent_entity_id' => null,'entity_class' => CommandeTicket::class,'entity_id' => $commande->getId()->toRfc4122(),'libelle' => 'Motards du viaduc - Tombola '.$tombola->getTitre(),'montant' => $commande->getTotalPrice(),'recapitulatif' => $recapitulatif,'payement_method' => ModePaiement::PAYBOX,'back_path' => 'app_reservation_index','prenom' => $commande->getUser()->getFirstname(),'nom' => $commande->getUser()->getLastname(),'adresse1' => $commande->getUser()->getAddress(),'adresse2' => $commande->getUser()->getAddressComplement(),'zipcode' => $commande->getUser()->getZipCode(),'city' => $commande->getUser()->getCity(),'country' => $commande->getUser()->getPays()->getId(),], Response::HTTP_SEE_OTHER);}return $this->render('tombola/commande.html.twig', ['tombola' => $tombola,'form' => $form->createView(),]);}}