src/Controller/Movimientos/OrdenCompraController.php line 46

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Movimientos;
  3. use App\Entity\Movimientos\OrdenCompra;
  4. use App\Form\Movimientos\OrdenCompraType;
  5. use App\Repository\Movimientos\OrdenCompraRepository;
  6. use Knp\Snappy\Pdf;
  7. use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse;
  8. use Twig\Environment;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. /**
  14.  * @Route("/movimientos/orden/compra")
  15.  */
  16. class OrdenCompraController extends AbstractController
  17. {
  18.     private $twig;
  19.     private $pdf;
  20.     public function __construct(Environment $twigPdf $pdf)
  21.     {
  22.         $this->twig $twig;
  23.         $this->pdf $pdf;
  24.     }
  25.     /**
  26.      * @Route("/{id}/pdf", name="app_movimientos_orden_compra_pdf", methods={"GET"})
  27.      */
  28.     public function pdf(OrdenCompra $ordenCompra)
  29.     {
  30.         $html $this->twig->render('movimientos/orden_compra/pdf.html.twig', [ 'orden_compra' => $ordenCompra ]);
  31.         $this->pdf->setTimeout(600);
  32.         return new PdfResponse(
  33.             $this->pdf->getOutputFromHtml($html),
  34.             'orden_compra_' $ordenCompra->getNumero() . '.pdf'
  35.         );
  36.     }
  37.     /**
  38.      * @Route("/", name="app_movimientos_orden_compra_index", methods={"GET"})
  39.      */
  40.     public function index(OrdenCompraRepository $ordenCompraRepository): Response
  41.     {
  42.         return $this->render('movimientos/orden_compra/index.html.twig', [
  43.             'orden_compras' => $ordenCompraRepository->findAll(),
  44.         ]);
  45.     }
  46.     /**
  47.      * @Route("/new", name="app_movimientos_orden_compra_new", methods={"GET", "POST"})
  48.      */
  49.     public function new(Request $requestOrdenCompraRepository $ordenCompraRepository): Response
  50.     {
  51.         $ordenCompra = new OrdenCompra();
  52.         $proximo $ordenCompraRepository->proximoNumero();
  53.         if (!$proximo)
  54.         {
  55.             $proximo 1;
  56.         }
  57.         
  58.         $ordenCompra->setNumero($proximo);
  59.         $form $this->createForm(OrdenCompraType::class, $ordenCompra, [ 'user' => $this->getUser() ] );
  60.         $form->handleRequest($request);
  61.         if ($form->isSubmitted() && $form->isValid()) 
  62.         {
  63.             $ordenCompraRepository->add($ordenCompratrue);
  64.             return $this->redirectToRoute('app_movimientos_item_movimiento_new', ['id' => $ordenCompra->getId()], Response::HTTP_SEE_OTHER);
  65.         }
  66.         return $this->renderForm('movimientos/orden_compra/new.html.twig', [
  67.             'orden_compra' => $ordenCompra,
  68.             'form' => $form,
  69.         ]);
  70.     }
  71.     /**
  72.      * @Route("/{id}", name="app_movimientos_orden_compra_show", methods={"GET"})
  73.      */
  74.     public function show(OrdenCompra $ordenCompra): Response
  75.     {
  76.         return $this->render('movimientos/orden_compra/show.html.twig', [
  77.             'orden_compra' => $ordenCompra,
  78.         ]);
  79.     }
  80.     /**
  81.      * @Route("/{id}/edit", name="app_movimientos_orden_compra_edit", methods={"GET", "POST"})
  82.      */
  83.     public function edit(Request $requestOrdenCompra $ordenCompraOrdenCompraRepository $ordenCompraRepository): Response
  84.     {
  85.         $form $this->createForm(OrdenCompraType::class, $ordenCompra, [ 'user' => $this->getUser() ]);
  86.         $form->handleRequest($request);
  87.         if ($form->isSubmitted() && $form->isValid()) {
  88.             $ordenCompraRepository->add($ordenCompratrue);
  89.             return $this->redirectToRoute('app_movimientos_orden_compra_index', [], Response::HTTP_SEE_OTHER);
  90.         }
  91.         return $this->renderForm('movimientos/orden_compra/edit.html.twig', [
  92.             'orden_compra' => $ordenCompra,
  93.             'form' => $form,
  94.         ]);
  95.     }
  96.     /**
  97.      * @Route("/{id}", name="app_movimientos_orden_compra_delete", methods={"POST"})
  98.      */
  99.     public function delete(Request $requestOrdenCompra $ordenCompraOrdenCompraRepository $ordenCompraRepository): Response
  100.     {
  101.         if ($this->isCsrfTokenValid('delete'.$ordenCompra->getId(), $request->request->get('_token'))) {
  102.             $ordenCompraRepository->remove($ordenCompratrue);
  103.         }
  104.         return $this->redirectToRoute('app_movimientos_orden_compra_index', [], Response::HTTP_SEE_OTHER);
  105.     }
  106. }