<commit_before><?php
namespace knx\HistoriaBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpFoundation\Response;

use knx\HistoriaBundle\Entity\Hc;
use knx\HistoriaBundle\Form\HcType;
use knx\HistoriaBundle\Form\OdontologiaType;
use knx\HistoriaBundle\Entity\Notas;
use knx\HistoriaBundle\Form\NotasType;

class HistoriaController extends Controller 
{
	public function editAction($factura) 
	{
		$em = $this->getDoctrine()->getEntityManager();
		$factura = $em->getRepository('FacturacionBundle:Factura')->find($factura);
		$historia = $factura->getHc(); 
		
		
		$usuario = $this->get('security.context')->getToken()->getUser();
		$perfil = null;
		foreach ($usuario->getRoles() as $role)
		{
			if($role == 'ROLE_MEDICO')
			{
				$perfil = $role;
			}
		}
		if(!$perfil)
			return $this->redirect($this->generateUrl('nota_list', array('historia' => $historia->getId() )));

		// se instancian los atributos para evitar conflictos con otras versiones de php
		$serviEgre = "";		
		$pCausaM="";		
		$pdx = "";
		
		$arrayDestino = array(
		''	=> false,
		'1' => 'Domicilio',
		'2' => false,
		'4' => 'Remision',
		'3' => 'Otro');					
		
		$paciente = $factura->getPaciente();

		/* No se verifica la existencia del paciente y los servicios porque si existe la factura existe el paciente
		 * y si existe la historia existen los servicios.
		 */
		if (!$factura || !$historia) {
			throw $this->createNotFoundException('La informacion solicitada no esta disponible.');
		}
		// se filtra la historia para validar si se puede dar permisos de edition o no
		$destino = $historia->getDestino();		
		if($arrayDestino[$destino]){			
			$this->get('session')->setFlash('error','Esta Historia Clinica No Esta Disponible, La Historia Ha Sido Cerrada, Si Necesita Su Info Por favor Genere El Impreso');
			return $this->redirect($this->generateUrl('historia_search_result', array('paciente' => $paciente->getId())));		
		}			
		if ($historia->getServiEgre()) {
			$serviEgre = $em->getRepository('ParametrizarBundle:Servicio')->find($historia->getServiEgre());
		}
		if($factura->getTipo() == 'C')
			$historia->setDestino('1');
	
		// se cargan los respectivos objetos para que el formulario los visualice correctamente.
		$historia->setServiEgre($serviEgre);<commit_msg>prueba agustin<commit_after><?php
namespace knx\HistoriaBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpFoundation\Response;

use knx\HistoriaBundle\Entity\Hc;
use knx\HistoriaBundle\Form\HcType;
use knx\HistoriaBundle\Form\OdontologiaType;
use knx\HistoriaBundle\Entity\Notas;
use knx\HistoriaBundle\Form\NotasType;

class HistoriaController extends Controller 
{
	public function editAction($factura) 
	{
		$em = $this->getDoctrine()->getEntityManager();
		$factura = $em->getRepository('FacturacionBundle:Factura')->find($factura);
		$historia = $factura->getHc(); 
		
		
		$usuario = $this->get('security.context')->getToken()->getUser();
		$perfil = null;
		foreach ($usuario->getRoles() as $role)
		{
			if($role == 'ROLE_MEDICO')
			{
				$perfil = $role;
			}
		}
		if(!$perfil)
			return $this->redirect($this->generateUrl('nota_list', array('historia' => $historia->getId() )));

		// se instancian los atributos para evitar conflictos con otras versiones de php
		$serviEgre = "";		
		$pCausaM="";		
		$pdx = "";
		
		$arrayDestino = array(
		''	=> false,
		'1' => 'Domicilio',
		'2' => false,
		'4' => 'Remision',
		'3' => 'Otro');					
		
		$paciente = $factura->getPaciente();
                
		/* No se verifica la existencia del paciente y los servicios porque si existe la factura existe el paciente
		 * y si existe la historia existen los servicios.
		 */
		if (!$factura || !$historia) {
			throw $this->createNotFoundException('La informacion solicitada no esta disponible.');
		}
		// se filtra la historia para validar si se puede dar permisos de edition o no
		$destino = $historia->getDestino();		
		if($arrayDestino[$destino]){			
			$this->get('session')->setFlash('error','Esta Historia Clinica No Esta Disponible, La Historia Ha Sido Cerrada, Si Necesita Su Info Por favor Genere El Impreso');
			return $this->redirect($this->generateUrl('historia_search_result', array('paciente' => $paciente->getId())));		
		}			
		if ($historia->getServiEgre()) {
			$serviEgre = $em->getRepository('ParametrizarBundle:Servicio')->find($historia->getServiEgre());
		}
		if($factura->getTipo() == 'C')
			$historia->setDestino('1');
	
		// se cargan los respectivos objetos para que el formulario los visualice correctamente.
		$historia->setServiEgre($serviEgre);
{'fraction_non_alphanumeric': 0.1483110133919648, 'fraction_numerical': 0.001998800719568259, 'mean_word_length': 4.597315436241611, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 71, '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': '977279', 'n_tokens_mistral': 1831, 'n_tokens_neox': 1673, 'n_words': 358}