src/Controller/Movimientos/AjusteStockController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Movimientos;
  3. use App\Entity\Movimientos\AjusteStock;
  4. use App\Form\Movimientos\AjusteStockType;
  5. use App\Repository\Movimientos\AjusteStockRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\Security\Http\Attribute\IsGranted;
  11. /**
  12.  * @Route("/movimientos/ajuste/stock")
  13.  */
  14. class AjusteStockController extends AbstractController
  15. {
  16.     /**
  17.      * @Route("/", name="app_movimientos_ajuste_stock_index", methods={"GET"})
  18.      */
  19.     public function index(AjusteStockRepository $ajusteStockRepository): Response
  20.     {
  21.         return $this->render('movimientos/ajuste_stock/index.html.twig', [
  22.             'ajuste_stocks' => $ajusteStockRepository->findAll(),
  23.         ]);
  24.     }
  25.     /**
  26.      * @Route("/new", name="app_movimientos_ajuste_stock_new", methods={"GET", "POST"})
  27.      */
  28.     public function new(Request $request, AjusteStockRepository $ajusteStockRepository): Response
  29.     {
  30.         $ajusteStock = new AjusteStock();
  31.         $proximo = $ajusteStockRepository->proximoNumero();
  32.         if (!$proximo)
  33.         {
  34.             $proximo = 1;
  35.         }
  36.         $ajusteStock->setNumero($proximo);
  37.         $form = $this->createForm(AjusteStockType::class, $ajusteStock, [ 'user' => $this->getUser() ]);
  38.         $form->handleRequest($request);
  39.         if ($form->isSubmitted() && $form->isValid()) {
  40.             $ajusteStockRepository->add($ajusteStock, true);
  41.             return $this->redirectToRoute('app_movimientos_item_movimiento_new', ['id' => $ajusteStock->getId()], Response::HTTP_SEE_OTHER);
  42.             //return $this->redirectToRoute('app_movimientos_ajuste_stock_index', [], Response::HTTP_SEE_OTHER);
  43.         }
  44.         return $this->renderForm('movimientos/ajuste_stock/new.html.twig', [
  45.             'ajuste_stock' => $ajusteStock,
  46.             'form' => $form,
  47.         ]);
  48.     }
  49.     /**
  50.      * @Route("/{id}", name="app_movimientos_ajuste_stock_show", methods={"GET"})
  51.      */
  52.     public function show(AjusteStock $ajusteStock): Response
  53.     {
  54.         return $this->render('movimientos/ajuste_stock/show.html.twig', [
  55.             'ajuste_stock' => $ajusteStock,
  56.         ]);
  57.     }
  58.     /**
  59.      * @Route("/{id}/edit", name="app_movimientos_ajuste_stock_edit", methods={"GET", "POST"})
  60.      */
  61.     public function edit(Request $request, AjusteStock $ajusteStock, AjusteStockRepository $ajusteStockRepository): Response
  62.     {
  63.         $form = $this->createForm(AjusteStockType::class, $ajusteStock, [ 'user' => $this->getUser() ]);
  64.         $form->handleRequest($request);
  65.         if ($form->isSubmitted() && $form->isValid()) {
  66.             $ajusteStockRepository->add($ajusteStock, true);
  67.             return $this->redirectToRoute('app_movimientos_ajuste_stock_index', [], Response::HTTP_SEE_OTHER);
  68.         }
  69.         return $this->renderForm('movimientos/ajuste_stock/edit.html.twig', [
  70.             'ajuste_stock' => $ajusteStock,
  71.             'form' => $form,
  72.         ]);
  73.     }
  74.     /**
  75.      * @Route("/{id}", name="app_movimientos_ajuste_stock_delete", methods={"POST"})
  76.      */
  77.     public function delete(Request $request, AjusteStock $ajusteStock, AjusteStockRepository $ajusteStockRepository): Response
  78.     {
  79.         if ($this->isCsrfTokenValid('delete'.$ajusteStock->getId(), $request->request->get('_token'))) {
  80.             $ajusteStockRepository->remove($ajusteStock, true);
  81.         }
  82.         return $this->redirectToRoute('app_movimientos_ajuste_stock_index', [], Response::HTTP_SEE_OTHER);
  83.     }
  84. }