/**
  * Cambia el estado del requerimiento y agrega una novedad informando el nuevo estado.
  *
  * @Route("cambiarestado/")
  * @Template()
  */
 public function cambiarestadoAction(Request $request)
 {
     $id = $this->ObtenerVariable($request, 'id');
     if ($id) {
         $entity = $this->ObtenerEntidadPorId($id);
     }
     $NuevoEstado = $this->ObtenerVariable($request, 'nuevoestado');
     $em = $this->getEm();
     $UsuarioConectado = $this->get('security.token_storage')->getToken()->getUser();
     if (!is_string($UsuarioConectado)) {
         $NuevaNovedad = new \Yacare\RequerimientosBundle\Entity\Novedad();
         $NuevaNovedad->setRequerimiento($entity);
         $NuevaNovedad->setUsuario($UsuarioConectado);
         $NuevaNovedad->setPrivada(0);
         $NuevaNovedad->setAutomatica(1);
         switch ($NuevoEstado) {
             case 0:
                 // no break;
                 break;
             case 10:
                 if ($entity->getEstado() == 0) {
                     $NuevaNovedad->setNotas("El requerimiento fue iniciado.");
                 } else {
                     $NuevaNovedad->setNotas("El requerimiento fue reiniciado.");
                 }
                 break;
             case 20:
                 $NuevaNovedad->setNotas("El requerimiento fue puesto en espera.");
                 break;
             case 80:
                 $NuevaNovedad->setNotas("El requerimiento fue cancelado.");
                 break;
             case 90:
                 $NuevaNovedad->setNotas("El requerimiento se marcó como terminado.");
                 break;
             case 99:
                 $NuevaNovedad->setNotas("El requerimiento fue cerrado.");
                 break;
             default:
                 $NuevaNovedad->setNotas("El estado del requerimiento ahora es " . \Yacare\RequerimientosBundle\Entity\Requerimiento::getEstadoNombres($NuevoEstado));
                 break;
         }
         $em->persist($NuevaNovedad);
         $this->InformarNovedad($request, $NuevaNovedad);
     }
     $entity->setEstado($NuevoEstado);
     $em->persist($entity);
     $em->flush();
     return $this->redirectToRoute($this->obtenerRutaBase('ver'), $this->ArrastrarVariables($request, array('id' => $id), false));
 }
Esempio n. 2
0
 /**
  * Obtiene el nombre normalizado de la calificación.
  * 
  * @return string
  */
 public function getCalificacionNombre()
 {
     return Requerimiento::getCalificacionNombres($this->getCalificacion());
 }
 /**
  * Crear un reclamo mediante un asistente.
  *
  * Muestra un asistente que facilita iniciar un requerimiento.
  *
  * @Route("asistente/crear/")
  * @Template()
  */
 public function asistentecrearAction(Request $request)
 {
     $em = $this->getEm();
     $Requerimiento = new \Yacare\RequerimientosBundle\Entity\Requerimiento();
     $CategoriaId = $this->ObtenerVariable($request, 'catid');
     if ($CategoriaId > 0) {
         $Categoria = $em->getRepository('\\Yacare\\RequerimientosBundle\\Entity\\Categoria')->find($CategoriaId);
         if ($Categoria) {
             $Requerimiento->setCategoria($Categoria);
         }
     } else {
         $Categoria = null;
     }
     $UsuarioConectado = $this->get('security.token_storage')->getToken()->getUser();
     $Requerimiento->setUsuario($UsuarioConectado);
     $FormEditar = $this->createForm('Yacare\\RequerimientosBundle\\Form\\RequerimientoType', $Requerimiento);
     $FormEditar->handleRequest($request);
     if ($FormEditar->isValid()) {
         if ($Requerimiento->getCategoria() && !$Requerimiento->getEncargado()) {
             $Requerimiento->setEncargado($Requerimiento->getCategoria()->getEncargado());
         }
         $em->persist($Requerimiento);
         $em->flush();
         $this->InformarNovedad($request, $Requerimiento, $this->vistaMailNuevoRequerimiento);
         return $this->redirectToRoute($this->obtenerRutaBase('ver'), $this->ArrastrarVariables($request, array('id' => $Requerimiento->getId()), false));
     } else {
         $validator = $this->get('validator');
         $Errores = $validator->validate($Requerimiento);
     }
     $res = $this->ConstruirResultado(new \Tapir\AbmBundle\Helper\Resultados\ResultadoEditarGuardarAction($this), $request);
     $res->Entidad = $Requerimiento;
     $res->FormularioEditar = $FormEditar->createView();
     $res->AccionGuardar = 'asistentecrear';
     $res->Errores = $Errores;
     $res->Categoria = $Categoria;
     $res->Categorias = $this->ObtenerCategorias();
     return array('res' => $res);
 }
 /**
  * Crear un reclamo mediante un asistente.
  *
  * Muestra un asistente que facilita iniciar un requerimiento.
  *
  * @Route("asistente/crear/")
  * @Template()
  */
 public function asistentecrearAction(Request $request)
 {
     $em = $this->getEm();
     $entity = new \Yacare\RequerimientosBundle\Entity\Requerimiento();
     $CategoriaId = $this->ObtenerVariable($request, 'cat');
     if ($CategoriaId > 0) {
         $Categoria = $em->getRepository('\\Yacare\\RequerimientosBundle\\Entity\\Categoria')->find($CategoriaId);
         if ($Categoria) {
             $entity->setCategoria($Categoria);
         }
     }
     $UsuarioConectado = $this->get('security.token_storage')->getToken()->getUser();
     $entity->setUsuario($UsuarioConectado);
     $editForm = $this->createForm(new \Yacare\RequerimientosBundle\Form\RequerimientoType(), $entity);
     $editForm->handleRequest($request);
     if ($editForm->isValid()) {
         if ($entity->getCategoria() && !$entity->getEncargado()) {
             $entity->setEncargado($entity->getCategoria()->getEncargado());
         }
         $em->persist($entity);
         $em->flush();
         $this->InformarNovedad($entity, $this->vistaMailNuevoRequerimiento);
         return $this->redirectToRoute($this->obtenerRutaBase('ver'), $this->ArrastrarVariables($request, array('id' => $entity->getId()), false));
     } else {
         $validator = $this->get('validator');
         $errors = $validator->validate($entity);
     }
     return $this->ArrastrarVariables($request, array('cat' => $CategoriaId, 'categorias' => $this->ObtenerCategorias(), 'entity' => $entity, 'errors' => $errors, 'edit_form' => $editForm->createView()));
 }