<?php
// src/Controller/CustomerServiceController.php
namespace App\Controller;
use App\Repository\OrderRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class CustomerServiceController extends AbstractController
{
/**
* @Route("/customer-service", name="customer_service", methods={"GET", "POST"})
*/
public function index(Request $request, OrderRepository $orderRepository): Response
{
if ($request->isMethod('POST')) {
// Se obtiene el ID de pedido enviado por el formulario
$orderId = $request->request->get('orderId');
if (!$orderId) {
$this->addFlash('error', 'Debe ingresar un ID de pedido.');
return $this->redirectToRoute('customer_service');
}
$order = $orderRepository->findOneBy(['trackingId' => $orderId]);
if (!$order) {
$this->addFlash('error', 'Pedido no encontrado.');
return $this->redirectToRoute('customer_service');
}
// Renderizamos una vista con los detalles del pedido y los productos asociados
return $this->render('customer_service/details.html.twig', [
'order' => $order,
]);
}
// Si es GET, simplemente mostramos el formulario
return $this->render('customer_service/index.html.twig');
}
}