35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Controller;
|
||
|
|
|
||
|
|
use App\Entity\Advert;
|
||
|
|
use Doctrine\ORM\EntityManagerInterface;
|
||
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||
|
|
use Symfony\Component\HttpFoundation\Response;
|
||
|
|
use Symfony\Component\Routing\Attribute\Route;
|
||
|
|
|
||
|
|
class OrderPaymentController extends AbstractController
|
||
|
|
{
|
||
|
|
#[Route('/order/{numOrder}', name: 'app_order_payment', requirements: ['numOrder' => '.+'])]
|
||
|
|
public function index(string $numOrder, EntityManagerInterface $em): Response
|
||
|
|
{
|
||
|
|
$advert = $em->createQueryBuilder()
|
||
|
|
->select('a')
|
||
|
|
->from(Advert::class, 'a')
|
||
|
|
->join('a.orderNumber', 'o')
|
||
|
|
->where('o.numOrder = :num')
|
||
|
|
->setParameter('num', $numOrder)
|
||
|
|
->getQuery()
|
||
|
|
->getOneOrNullResult();
|
||
|
|
|
||
|
|
if (null === $advert) {
|
||
|
|
throw $this->createNotFoundException('Avis de paiement introuvable.');
|
||
|
|
}
|
||
|
|
|
||
|
|
return $this->render('order/payment.html.twig', [
|
||
|
|
'advert' => $advert,
|
||
|
|
'customer' => $advert->getCustomer(),
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|