/** * 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)); }
/** * 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())); }