<commit_before><?php
namespace Brasa\RecursoHumanoBundle\Controller\Movimiento;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Doctrine\ORM\EntityRepository;
use Brasa\RecursoHumanoBundle\Form\Type\RhuPagoBancoType;

class PagoBancoController extends Controller
{
    var $strSqlLista = "";
    var $strFecha = "";
    
    /**
     * @Route("/rhu/movimiento/pago/banco/", name="brs_rhu_movimiento_pago_banco")
     */    
    public function listaAction() {        
        $em = $this->getDoctrine()->getManager();
        $request = $this->getRequest();
        if(!$em->getRepository('BrasaSeguridadBundle:SegPermisoDocumento')->permiso($this->getUser(), 8, 1)) {
            return $this->redirect($this->generateUrl('brs_seg_error_permiso_especial'));            
        }
        $paginator  = $this->get('knp_paginator');
        $strSqlLista = $this->getRequest()->getSession();        
        $form = $this->formularioFiltro();
        $form->handleRequest($request);        
        $this->listar();          
        if ($form->isValid()) {            
            $arrSeleccionados = $request->request->get('ChkSeleccionar');                                                   
            if ($form->get('BtnEliminar')->isClicked()) {  
                if(count($arrSeleccionados) > 0) {
                    foreach ($arrSeleccionados as $codigoPagoBanco) {
                        $arPagoBanco = $em->getRepository('BrasaRecursoHumanoBundle:RhuPagoBanco')->find($codigoPagoBanco);
                        $em->remove($arPagoBanco);                        
                    }
                    $em->flush();
                }                
                return $this->redirect($this->generateUrl('brs_rhu_movimiento_pago_banco'));
            }
            if ($form->get('BtnFiltrar')->isClicked()) {    
                $this->filtrar($form);
                $this->listar();
            }
            if ($form->get('BtnExcel')->isClicked()) {
                $this->filtrar($form);
                $this->listar();
                $this->generarExcel();
            }            
        }                      
        $arPagoBancos = $paginator->paginate($em->createQuery($this->strSqlLista), $request->query->get('page', 1), 20);                
        return $this->render('BrasaRecursoHumanoBundle:Movimientos/PagoBanco/:lista.html.twig', array('arPagoBancos' => $arPagoBancos, 'form' => $form->createView()));
    } 
        
    /**
     * @Route("/rhu/movimiento/pago/banco/nuevo/{codigoPagoBanco}", name="brs_rhu_movimiento_pago_banco_nuevo")
     */    
    public function nuevoAction($codigoPagoBanco) {
        $request = $this->getRequest();
        $em = $this->getDoctrine()->getManager();<commit_msg>validar al eliminar los registros de pago banco<commit_after><?php
namespace Brasa\RecursoHumanoBundle\Controller\Movimiento;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Doctrine\ORM\EntityRepository;
use Brasa\RecursoHumanoBundle\Form\Type\RhuPagoBancoType;
use Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException;

class PagoBancoController extends Controller
{
    var $strSqlLista = "";
    var $strFecha = "";
    
    /**
     * @Route("/rhu/movimiento/pago/banco/", name="brs_rhu_movimiento_pago_banco")
     */    
    public function listaAction() {        
        $em = $this->getDoctrine()->getManager();
        $request = $this->getRequest();
        $objMensaje = new \Brasa\GeneralBundle\MisClases\Mensajes();
        if(!$em->getRepository('BrasaSeguridadBundle:SegPermisoDocumento')->permiso($this->getUser(), 8, 1)) {
            return $this->redirect($this->generateUrl('brs_seg_error_permiso_especial'));            
        }
        $paginator  = $this->get('knp_paginator');
        $strSqlLista = $this->getRequest()->getSession();        
        $form = $this->formularioFiltro();
        $form->handleRequest($request);        
        $this->listar();          
        if ($form->isValid()) {            
            $arrSeleccionados = $request->request->get('ChkSeleccionar');                                                   
            if ($form->get('BtnEliminar')->isClicked()) {  
                if(count($arrSeleccionados) > 0) {
                    try{
                        foreach ($arrSeleccionados as $codigoPagoBanco) {
                            $arPagoBanco = $em->getRepository('BrasaRecursoHumanoBundle:RhuPagoBanco')->find($codigoPagoBanco);
                            $em->remove($arPagoBanco);                        
                        }
                        $em->flush();
                    } catch (ForeignKeyConstraintViolationException $e) { 
                    $objMensaje->Mensaje('error', 'No se puede eliminar el registro, tiene detalles asociados', $this);
                  }    
                }                
                return $this->redirect($this->generateUrl('brs_rhu_movimiento_pago_banco'));
            }
            if ($form->get('BtnFiltrar')->isClicked()) {    
                $this->filtrar($form);
                $this->listar();
            }
            if ($form->get('BtnExcel')->isClicked()) {
                $this->filtrar($form);
                $this->listar();
                $this->generarExcel();
            }            
        }                      
        $arPagoBancos = $paginator->paginate($em->createQuery($this->strSqlLista), $request->query->get('page', 1), 20);                
        return $this->render('BrasaRecursoHumanoBundle:Movimientos/PagoBanco/:lista.html.twig', array('arPagoBancos' => $arPagoBancos, 'form' => $form->createView()));
    } 
        
    /**
     * @Route("/rhu/movimiento/pago/banco/nuevo/{codigoPagoBanco}", name="brs_rhu_movimiento_pago_banco_nuevo")
     */    
    public function nuevoAction($codigoPagoBanco) {
        $request = $this->getRequest();
        $em = $this->getDoctrine()->getManager();
{'fraction_non_alphanumeric': 0.1447606514229314, 'fraction_numerical': 0.001974008883039974, 'mean_word_length': 1.996550024642681, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 98, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1091344', 'n_tokens_mistral': 1849, 'n_tokens_neox': 1798, 'n_words': 202}