<?php
namespace App\Controller\Movimientos;
use App\Entity\Movimientos\Transferencia;
use App\Form\Movimientos\TransferenciaType;
use App\Repository\Movimientos\TransferenciaRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
/**
* @Route("/movimientos/transferencia")
* @Security("is_granted('IS_AUTHENTICATED_FULLY')")
*/
class TransferenciaController extends AbstractController
{
/**
* @Route("/", name="app_movimientos_transferencia_index", methods={"GET"})
*/
public function index(TransferenciaRepository $transferenciaRepository): Response
{
return $this->render('movimientos/transferencia/index.html.twig', [
'transferencias' => $transferenciaRepository->findAll(),
]);
}
/**
* @Route("/new", name="app_movimientos_transferencia_new", methods={"GET", "POST"})
*/
public function new(Request $request, TransferenciaRepository $transferenciaRepository): Response
{
$transferencium = new Transferencia();
$proximo = $transferenciaRepository->proximoNumero();
if (!$proximo)
{
$proximo = 1;
}
$transferencium->setNumero($proximo);
$form = $this->createForm(TransferenciaType::class, $transferencium);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$transferenciaRepository->add($transferencium, true);
return $this->redirectToRoute('app_movimientos_item_movimiento_new', ['id' => $transferencium->getId()], Response::HTTP_SEE_OTHER);
// return $this->redirectToRoute('app_movimientos_transferencia_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('movimientos/transferencia/new.html.twig', [
'transferencium' => $transferencium,
'form' => $form,
]);
}
/**
* @Route("/{id}", name="app_movimientos_transferencia_show", methods={"GET"})
*/
public function show(Transferencia $transferencium): Response
{
return $this->render('movimientos/transferencia/show.html.twig', [
'transferencium' => $transferencium,
]);
}
/**
* @Route("/{id}/edit", name="app_movimientos_transferencia_edit", methods={"GET", "POST"})
*/
public function edit(Request $request, Transferencia $transferencium, TransferenciaRepository $transferenciaRepository): Response
{
$form = $this->createForm(TransferenciaType::class, $transferencium);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$transferenciaRepository->add($transferencium, true);
return $this->redirectToRoute('app_movimientos_transferencia_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('movimientos/transferencia/edit.html.twig', [
'transferencium' => $transferencium,
'form' => $form,
]);
}
/**
* @Route("/{id}", name="app_movimientos_transferencia_delete", methods={"POST"})
*/
public function delete(Request $request, Transferencia $transferencium, TransferenciaRepository $transferenciaRepository): Response
{
if ($this->isCsrfTokenValid('delete'.$transferencium->getId(), $request->request->get('_token'))) {
$transferenciaRepository->remove($transferencium, true);
}
return $this->redirectToRoute('app_movimientos_transferencia_index', [], Response::HTTP_SEE_OTHER);
}
}