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