<commit_before><?php

namespace UserBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use UserBundle\Entity\Departamento;
use UserBundle\Entity\TipoPuesto;
use UserBundle\Form\Type\DepartamentoType;
use UserBundle\Form\Type\TipoPuestoType;
use Symfony\Component\HttpFoundation\JsonResponse;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;

/**
 * CombinarPuesto controller.
 *
 * @Security("is_granted('ROLE_USER')") 
 */
class SupervisorUsuariosController extends Controller { 

	

	/**
	 * Este método tiene como intención mostrarle a un usuario los demás usuarios que están
	 * bajo su control. Por ejemplo, si su puesto es tipo gerente puede ver a los usuarios tipo
	 * asistente y encargado.
	 * 
	 *
	 * @return Usuario      Array de usuarios
	 *
	 * @Route("/mostrar/usuarios", name="mostrar_usuarios")
	 */
	public function usuariosPermisosAction()
	{
		$em = $this->getDoctrine()->getManager();

		$usuarioActual = $this->getUser();

		$arrayPuestos = $usuarioActual->getPuestos();
		//se utiliza solamente el último puesto porque es se toma como el más reciente
		$puestoActual = $arrayPuestos->last();
		//array
		$tipoPuestosJerarquia = $puestoActual->getTipoPuesto()->getPuestos();

		$returnArray = [];
		foreach($tipoPuestosJerarquia as $tipoPuesto) {

			$puesto = $em->getRepository('UserBundle:Puesto')->findOneBy(['tipoPuesto' => $tipoPuesto]);

			$usuarios =  $em->getRepository('UserBundle:UsuarioTrabajador')->findAll();
        	foreach($usuarios as $usuario){
        		$puestosUsuario = $usuario->getPuestos();
	        	$lastPuesto = $puestosUsuario->last();
	        	if ($lastPuesto == $puesto && $lastPuesto != null){
	        		$returnArray[] = $usuario;
	        	}
        	}
		}
      
       

        return $this->render('UserBundle:Puesto:showUsuarioPermisos.html.twig',
        	[
        		'usuarios' => $returnArray,
        	]
        );
	}


}<commit_msg>mostrar todos los usuarios si el actual es tipo socio<commit_after><?php

namespace UserBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use UserBundle\Entity\Departamento;
use UserBundle\Entity\TipoPuesto;
use UserBundle\Form\Type\DepartamentoType;
use UserBundle\Form\Type\TipoPuestoType;
use Symfony\Component\HttpFoundation\JsonResponse;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;

/**
 * CombinarPuesto controller.
 *
 * @Security("is_granted('ROLE_USER')") 
 */
class SupervisorUsuariosController extends Controller { 

	

	/**
	 * Este método tiene como intención mostrarle a un usuario los demás usuarios que están
	 * bajo su control. Por ejemplo, si su puesto es tipo gerente puede ver a los usuarios tipo
	 * asistente y encargado.
	 * 
	 *
	 * @return Usuario      Array de usuarios
	 *
	 * @Route("/mostrar/usuarios", name="mostrar_usuarios")
	 */
	public function usuariosPermisosAction()
	{
		$em = $this->getDoctrine()->getManager();

		$discriminator = $this->container->get('pugx_user.manager.user_discriminator');
        $claseActual = $discriminator->getClass();

      	//Se necesita saber cual es el tipo de Usuario Actual para saber a donde dirigirlo.
      	if ($claseActual == "UserBundle\Entity\UsuarioSocio") {
      		$usuarios =  $em->getRepository('UserBundle:UsuarioTrabajador')->findAll();
      		 return $this->render('UserBundle:Puesto:showUsuarioPermisos.html.twig',
	        	[
	        		'usuarios' => $usuarios,
	        	]
        	);

      	}

		$usuarioActual = $this->getUser();

		$arrayPuestos = $usuarioActual->getPuestos();
		//se utiliza solamente el último puesto porque es se toma como el más reciente
		$puestoActual = $arrayPuestos->last();
		//array
		$tipoPuestosJerarquia = $puestoActual->getTipoPuesto()->getPuestos();

		$returnArray = [];
		foreach($tipoPuestosJerarquia as $tipoPuesto) {

			$puesto = $em->getRepository('UserBundle:Puesto')->findOneBy(['tipoPuesto' => $tipoPuesto]);

			$usuarios =  $em->getRepository('UserBundle:UsuarioTrabajador')->findAll();
        	foreach($usuarios as $usuario){
        		$puestosUsuario = $usuario->getPuestos();
	        	$lastPuesto = $puestosUsuario->last();
	        	if ($lastPuesto == $puesto && $lastPuesto != null){
	        		$returnArray[] = $usuario;
	        	}
        	}
		}
      
       

        return $this->render('UserBundle:Puesto:showUsuarioPermisos.html.twig',
        	[
        		'usuarios' => $returnArray,
        	]
        );
	}

}
{'fraction_non_alphanumeric': 0.12365263371974781, 'fraction_numerical': 0.0, 'mean_word_length': 3.756286266924565, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 42, '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': '2401342', 'n_tokens_mistral': 1730, 'n_tokens_neox': 1626, 'n_words': 293}