<commit_before><?php

namespace AppBundle\Controller;

use AppBundle\Entity\Usuario;
use AppBundle\Form\Type\FiltroApellidoType;
use AppBundle\Form\Type\UsuarioType;
use AppBundle\Utils\Aficiones;
use AppBundle\Utils\Mensajes;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\SubmitButton;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;

/**
 * @Route("/usuario")
 */
class UsuarioController extends Controller
{
    /**
     * @Route("/listar", name="usuarios_listar")
     * @Security(expression="has_role('ROLE_ADMIN')")
     */
    public function listarAction(Request $peticion)
    {
        $peticion->getSession()->set('mensajes_no_leidos', Mensajes::obtenerMensajesNoLeidos($this, $this->container,
            $this->get('security.token_storage')->getToken()->getUser()));
        $peticion->getSession()->set('aficiones_no_validadas', Aficiones::obtenerAficionesNoValidadas($this, $this->container));
        $em = $this->getDoctrine()->getManager();
        $apellidosDefecto = null;
        $form = $this->createForm(new FiltroApellidoType(), $apellidosDefecto)->handleRequest($peticion);
        $apellidos = ($form->isValid()) ? $_POST['filtroApellidos']['apellidos'] : null;
        $qb = $em->getRepository('AppBundle:Usuario')
            ->createQueryBuilder('u')
            ->orderBy('u.apellidos', 'DESC')
            ->addOrderBy('u.nombre', 'DESC');
        if ($apellidos) {
            $qb->where('u.apellidos LIKE :apellidos')
                ->orWhere('u.nombre LIKE :apellidos')
                ->setParameter('apellidos', '%'.$apellidos.'%');
        }
        $usuarios =  $qb
            ->getQuery()
            ->getResult();
        return $this->render('AppBundle:Usuario:listar.html.twig', [
            'formulario_apellidos' => $form->createView(),
            'usuarios' => $usuarios
        ]);
    }

    /**
     * @Route("/listar/alumnos", name="alumnos_listar")
     * @Security(expression="has_role('ROLE_ADMIN') or has_role('ROLE_COORDINADOR')")
     */
    public function listarAlumnosAction(Request $peticion)
    {
        $peticion->getSession()->set('mensajes_no_leidos', Mensajes::obtenerMensajesNoLeidos($this, $this->container,
            $this->get('security.token_storage')->getToken()->getUser()));
        $peticion->getSession()->set('aficiones_no_validadas', Aficiones::obtenerAficionesNoValidadas($this, $this->container));
        $em = $this->getDoctrine()->getManager();
        $apellidosDefecto = null;
        $form = $this->createForm(new FiltroApellidoType(), $apellidosDefecto)->handleRequest($peticion);
        $apellidos = ($form->isValid()) ? $_POST['filtroApellidos']['apellidos'] : null;
        $qb = $em->getRepository('AppBundle:Usuario')
            ->createQueryBuilder('u')
            ->orderBy('u.apellidos', 'DESC')
            ->addOrderBy('u.nombre', 'DESC')
            ->where('u.esAlumno = 1');
        if ($apellidos) {
            $qb->andWhere('u.apellidos LIKE :apellidos')
                ->orWhere('u.nombre LIKE :apellidos')
                ->setParameter('apellidos', '%'.$apellidos.'%');
        }
        $usuarios =  $qb
            ->getQuery()
            ->getResult();
        return $this->render('AppBundle:Usuario:listar.html.twig', [
            'formulario_apellidos' => $form->createView(),
            'usuarios' => $usuarios
        ]);
    }

    /**
     * @Route("/listar/coordinadores", name="coordinadores_listar")
     * @Security(expression="has_role('ROLE_ADMIN') or has_role('ROLE_COORDINADOR')")
     */<commit_msg>Actualizado filtro de alumnos por curso<commit_after><?php

namespace AppBundle\Controller;

use AppBundle\Entity\Usuario;
use AppBundle\Form\Type\FiltroApellidoType;
use AppBundle\Form\Type\FiltroCursoType;
use AppBundle\Form\Type\UsuarioType;
use AppBundle\Utils\Aficiones;
use AppBundle\Utils\Mensajes;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\SubmitButton;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;

/**
 * @Route("/usuario")
 */
class UsuarioController extends Controller
{
    /**
     * @Route("/listar", name="usuarios_listar")
     * @Security(expression="has_role('ROLE_ADMIN')")
     */
    public function listarAction(Request $peticion)
    {
        $peticion->getSession()->set('mensajes_no_leidos', Mensajes::obtenerMensajesNoLeidos($this, $this->container,
            $this->get('security.token_storage')->getToken()->getUser()));
        $peticion->getSession()->set('aficiones_no_validadas', Aficiones::obtenerAficionesNoValidadas($this, $this->container));
        $em = $this->getDoctrine()->getManager();
        $apellidosDefecto = null;
        $form = $this->createForm(new FiltroApellidoType(), $apellidosDefecto)->handleRequest($peticion);
        $apellidos = ($form->isValid()) ? $_POST['filtroApellidos']['apellidos'] : null;
        $qb = $em->getRepository('AppBundle:Usuario')
            ->createQueryBuilder('u')
            ->orderBy('u.apellidos', 'DESC')
            ->addOrderBy('u.nombre', 'DESC');
        if ($apellidos) {
            $qb->where('u.apellidos LIKE :apellidos')
                ->orWhere('u.nombre LIKE :apellidos')
                ->setParameter('apellidos', '%'.$apellidos.'%');
        }
        $usuarios =  $qb
            ->getQuery()
            ->getResult();
        return $this->render('AppBundle:Usuario:listar.html.twig', [
            'formulario_apellidos' => $form->createView(),
            'usuarios' => $usuarios
        ]);
    }

    /**
     * @Route("/listar/alumnos", name="alumnos_listar")
     * @Security(expression="has_role('ROLE_ADMIN') or has_role('ROLE_COORDINADOR')")
     */
    public function listarAlumnosAction(Request $peticion)
    {
        $peticion->getSession()->set('mensajes_no_leidos', Mensajes::obtenerMensajesNoLeidos($this, $this->container,
            $this->get('security.token_storage')->getToken()->getUser()));
        $peticion->getSession()->set('aficiones_no_validadas', Aficiones::obtenerAficionesNoValidadas($this, $this->container));
        $em = $this->getDoctrine()->getManager();
        $form = $this->createForm(new FiltroCursoType())->handleRequest($peticion);
        $curso = ($form->isValid()) ? $_POST['filtroCursos']['curso'] : null;
        $qb = $em->getRepository('AppBundle:Usuario')
                 ->createQueryBuilder('u')
                 ->orderBy('u.apellidos', 'DESC')
                 ->addOrderBy('u.nombre', 'DESC')
                 ->where('u.esAlumno = 1');
        if ($curso) {
            $qb->where('a.curso = :curso')
               ->setParameter('curso', $_POST['filtroCursos']['curso']);
        }
        $usuarios =  $qb
            ->getQuery()
            ->getResult();
        return $this->render('AppBundle:Usuario:listar.html.twig', [
            'formulario_apellidos' => $form->createView(),
            'usuarios' => $usuarios
        ]);
    }

    /**
     * @Route("/listar/coordinadores", name="coordinadores_listar")
     * @Security(expression="has_role('ROLE_ADMIN') or has_role('ROLE_COORDINADOR')")
     */
{'fraction_non_alphanumeric': 0.16961414790996784, 'fraction_numerical': 0.0002679528403001072, 'mean_word_length': 3.229461756373938, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 112, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3217621', 'n_tokens_mistral': 2413, 'n_tokens_neox': 2429, 'n_words': 290}