From 6388100ca6d56b3763aba83f8d24ef13db3180b8 Mon Sep 17 00:00:00 2001 From: Wilmer Date: Wed, 31 May 2017 11:07:39 -0400 Subject: [PATCH] corrige error de primer permiso solicitado --- src/AppBundle/Controller/PermisosController.php | 59 +++++++++++++------------ 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/src/AppBundle/Controller/PermisosController.php b/src/AppBundle/Controller/PermisosController.php index 4da16b5..bd1cf7e 100644 --- a/src/AppBundle/Controller/PermisosController.php +++ b/src/AppBundle/Controller/PermisosController.php @@ -118,23 +118,25 @@ class PermisosController extends Controller 'idRolInstitucion' => $docente, 'idServicioCe' => 9 ), array('id' => 'DESC') ); - $cuantoAprobaron = $this->getDoctrine()->getRepository("AppBundle:DocentePermisoTiempo")->findOneByIdDocenteServicio($estudio); - $tiempoAprobaron = $cuantoAprobaron->getFechaFinal()->diff($cuantoAprobaron->getFechaInicio()); - - $caduco = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); - if($estudio && ($estudio->getIdEstatus()->getId() == 1 || $estudio->getIdEstatus()->getId() == 2 )){ - $tiempoEspera = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); - if($tiempoEspera->y >= 1 && $estudio->getIdEstatus()->getId() == 1){ - $estudio->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(4)); - $em->persist($estudio); - $em->flush(); - }else if($tiempoAprobaron->m == 3 || !$estudio->getIdEstatus()->getId() == 1 || !$caduco->m > 0) { - $this->addFlash('warning', 'Todavia no puede realizar otra solicitud, debe esperar que el tiempo caduque si fue aprobado menos de tres meses o esperar un año para una nueva solicitud.'); - return $this->redirect($this->generateUrl('servicios_index')); + if($estudio) { + $cuantoAprobaron = $this->getDoctrine()->getRepository("AppBundle:DocentePermisoTiempo")->findOneByIdDocenteServicio($estudio); + $tiempoAprobaron = $cuantoAprobaron->getFechaFinal()->diff($cuantoAprobaron->getFechaInicio()); + + + $caduco = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); + if ($estudio && ($estudio->getIdEstatus()->getId() == 1 || $estudio->getIdEstatus()->getId() == 2)) { + $tiempoEspera = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); + if ($tiempoEspera->y >= 1 && $estudio->getIdEstatus()->getId() == 1) { + $estudio->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(4)); + $em->persist($estudio); + $em->flush(); + } else if ($tiempoAprobaron->m == 3 || !$estudio->getIdEstatus()->getId() == 1 || !$caduco->m > 0) { + $this->addFlash('warning', 'Todavia no puede realizar otra solicitud, debe esperar que el tiempo caduque si fue aprobado menos de tres meses o esperar un año para una nueva solicitud.'); + return $this->redirect($this->generateUrl('servicios_index')); + } } } - $formEstudio = $this->createForm('AppBundle\Form\PermisoEstudioType'); $formEstudio->handleRequest($request); if ($formEstudio->isSubmitted() && $formEstudio->isValid()) { @@ -210,23 +212,24 @@ class PermisosController extends Controller 'idRolInstitucion' => $docente, 'idServicioCe' => 9 ), array('id' => 'DESC') ); - $cuantoAprobaron = $this->getDoctrine()->getRepository("AppBundle:DocentePermisoTiempo")->findOneByIdDocenteServicio($estudio); - $tiempoAprobaron = $cuantoAprobaron->getFechaFinal()->diff($cuantoAprobaron->getFechaInicio()); - - $caduco = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); - if($estudio && ($estudio->getIdEstatus()->getId() == 1 || $estudio->getIdEstatus()->getId() == 2 )){ - $tiempoEspera = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); - if($tiempoEspera->y >= 1 && $estudio->getIdEstatus()->getId() == 1){ - $estudio->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(4)); - $em->persist($estudio); - $em->flush(); - }else{ - $this->addFlash('warning', 'Ya posee una solicitud en espera o activa, no puede realizar otra solicitud.'); - return $this->redirect($this->generateUrl('servicios_index')); + if($estudio) { + $cuantoAprobaron = $this->getDoctrine()->getRepository("AppBundle:DocentePermisoTiempo")->findOneByIdDocenteServicio($estudio); + $tiempoAprobaron = $cuantoAprobaron->getFechaFinal()->diff($cuantoAprobaron->getFechaInicio()); + + $caduco = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); + if ($estudio && ($estudio->getIdEstatus()->getId() == 1 || $estudio->getIdEstatus()->getId() == 2)) { + $tiempoEspera = $cuantoAprobaron->getFechaFinal()->diff(new \DateTime("now")); + if ($tiempoEspera->y >= 1 && $estudio->getIdEstatus()->getId() == 1) { + $estudio->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(4)); + $em->persist($estudio); + $em->flush(); + } else { + $this->addFlash('warning', 'Ya posee una solicitud en espera o activa, no puede realizar otra solicitud.'); + return $this->redirect($this->generateUrl('servicios_index')); + } } } - $formExtranjero = $this->createForm('AppBundle\Form\PermisoExtranjeroType'); $formExtranjero->handleRequest($request); if ($formExtranjero->isSubmitted() && $formExtranjero->isValid()) { -- 2.0.0