diff --git a/src/Enum/FoodData.php b/src/Enum/FoodData.php index dba7975..fe1282d 100644 --- a/src/Enum/FoodData.php +++ b/src/Enum/FoodData.php @@ -1,4 +1,5 @@ htmlTemplate('email/order.html.twig') + ->subject('Abiball Ticket') + ->from(new Address($this->senderMail, 'Noreply')) + ->to($payment->getCustomer()?->getEmail()) + ->context(['payment' => $payment]); + + $this->mailer->send($mail); + } +} \ No newline at end of file diff --git a/src/Service/TicketService.php b/src/Service/TicketService.php index 3570e73..e3a1e11 100644 --- a/src/Service/TicketService.php +++ b/src/Service/TicketService.php @@ -21,6 +21,7 @@ class TicketService private readonly UrlGeneratorInterface $generator, private readonly EntityManagerInterface $em, private readonly PaymentRepository $paymentRepository, + private readonly TicketEmailService $emailService, #[Autowire(env: 'STRIPE_SECRET_KEY')] string $stripeKey ) { @@ -36,18 +37,6 @@ class TicketService return $session; } - public function saveTicketData(TicketFormData $data, string $sessionId): void - { - $payment = (new Payment()) - ->setSessionId($sessionId) - ->setCompleted(false) - ->setCustomer($this->createEntityFromData($data)); - - $this->em->persist($payment); - $this->em->flush(); - } - - public function completePayment(string $sessionId): bool { if (!$payment = $this->paymentRepository->findOneBy(['sessionId' => $sessionId])) { @@ -57,9 +46,23 @@ class TicketService $payment->setCompleted(true); $this->em->flush(); + $this->emailService->sendSuccessEmail($payment); + return true; } + + private function saveTicketData(TicketFormData $data, string $sessionId): void + { + $payment = (new Payment()) + ->setSessionId($sessionId) + ->setCompleted(false) + ->setCustomer($this->createEntityFromData($data)); + + $this->em->persist($payment); + $this->em->flush(); + } + private function getLineItems(array $tickets): array { $lineItems = []; diff --git a/src/Twig/Ticket.php b/src/Twig/Ticket.php index 1515c91..78dd4f5 100644 --- a/src/Twig/Ticket.php +++ b/src/Twig/Ticket.php @@ -1,4 +1,5 @@ getFoodName(...)), - new TwigFilter('ticket', $this->getTicket(...)), - + new TwigFilter('ticket', $this->getTicket(...)) ]; } diff --git a/templates/email/order.html.twig b/templates/email/order.html.twig new file mode 100644 index 0000000..6128df2 --- /dev/null +++ b/templates/email/order.html.twig @@ -0,0 +1,26 @@ + + +
+ +