<?php
namespace App\Controller\Filtro;
use App\Entity\Filtro\FiltroFichajeDiario;
use App\Form\Filtro\FiltroFichajeDiarioType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\RequestStack;
#[Route('/filtro/fichajediario')]
class FiltroFichajeDiarioController extends AbstractController
{
#[Route('/', name: 'app_filtro_fichajediario_index', methods: ['GET', 'POST'])]
public function index(RequestStack $requestStack, Request $request): Response
{
$session = $requestStack->getSession();
$filtro = new FiltroFichajeDiario();
if (!is_null($session->get('filtro.fichajediario'))){
$filtro = unserialize($session->get('filtro.fichajediario'));
}
$form = $this->createForm(FiltroFichajeDiarioType::class, $filtro);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$session->set('filtro.fichajediario', serialize($filtro));
return $this->redirectToRoute('app_filtro_fichajediario_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('filtro/fichajediario/filtro.html.twig', [
'fichajediario' => $filtro,
'form' => $form,
]);
}
#[Route('/aplicado', name: 'app_filtro_fichajediario_aplicado', methods: ['GET'])]
public function aplicado(RequestStack $requestStack): Response
{
$session = $requestStack->getSession();
$filtro = unserialize($session->get('filtro.fichajediario'));
if (!$filtro) $filtro = new FiltroFichajeDiario();
return $this->renderForm('filtro/fichajediario/aplicado.html.twig', [
'fichajeDiario' => $filtro,
]);
}
#[Route('/limpiar', name: 'app_filtro_fichajediario_limpiar', methods: ['GET'])]
public function limpiar(RequestStack $requestStack): Response
{
$session = $requestStack->getSession();
$session->set('filtro.fichajediario', null);
return $this->redirectToRoute('app_filtro_fichajediario_index', [], Response::HTTP_SEE_OTHER);
}
}