getDoctrine()->getManager(); $docente = $this->getUser()->getIdRolInstitucion(); $escalafones = $em->getRepository("AppBundle:DocenteEscala")->findOneBy(array( 'idRolInstitucion' => $docente, 'idEscala' => $em->getRepository("AppBundle:Escalafones")->findOneById(2) )); if(!$escalafones){ $this->addFlash('danger', 'Estimado Docente, debe ser mínimo Asistente para poder realizar esta solicitud'); return $this->redirect($this->generateUrl('permisos_index')); } /* Permiso sabatico */ $sabatico = $this->getDoctrine()->getRepository("AppBundle:DocenteServicio")->findOneBy(array( 'idRolInstitucion' => $docente, 'idServicioCe' => 8 ), array('id' => 'DESC') ); if($sabatico && ($sabatico->getIdEstatus()->getId() == 1 || $sabatico->getIdEstatus()->getId() == 2 )){ $tiempoEspera = $sabatico->getFechaSolicitud()->diff(new \DateTime("now")); if($tiempoEspera->y >= 7 && $sabatico->getIdEstatus()->getId() == 1){ $sabatico->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(4)); $em->persist($sabatico); $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')); } } $formSabatico = $this->createForm('AppBundle\Form\PermisoSabaticoType'); $formSabatico->handleRequest($request); if ($formSabatico->isSubmitted() && $formSabatico->isValid()) { $servicios = new DocenteServicio(); $servicios->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); $servicios->setIdServicioCe($this->getDoctrine()->getRepository('AppBundle:ServiciosCe')->findOneById(8)); $servicios->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:estatus')->findOneById(2)); $em->persist($servicios); $em->flush(); $motivo = $formSabatico->get('motivo')->getData(); $nombreMotivo = md5(uniqid()).'.'.$motivo->guessExtension(); $motivo->move( $this->container->getParameter('permiso_directory'), $nombreMotivo ); thumbnail3($nombreMotivo, $this->container->getParameter('permiso_directory'), $this->container->getParameter('permiso_thumb_directory')); verificar_documentos3($servicios->getIdRolInstitucion(),18,2,$em,$nombreMotivo, $servicios); $this->addFlash('success', 'Permiso solicitado satisfactoriamente'); return $this->redirect($this->generateUrl('servicios_index')); } /* Fin Sabatico */ /* Permiso Estudio */ $estudio = $this->getDoctrine()->getRepository("AppBundle:DocenteServicio")->findOneBy(array( 'idRolInstitucion' => $docente, 'idServicioCe' => 9 ), array('id' => 'DESC') ); if($estudio && ($estudio->getIdEstatus()->getId() == 1 || $estudio->getIdEstatus()->getId() == 2 )){ $tiempoEspera = $estudio->getFechaSolicitud()->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')); } } $formSabatico = $this->createForm('AppBundle\Form\PermisoSabaticoType'); $formSabatico->handleRequest($request); if ($formSabatico->isSubmitted() && $formSabatico->isValid()) { $servicios = new DocenteServicio(); $servicios->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); $servicios->setIdServicioCe($this->getDoctrine()->getRepository('AppBundle:ServiciosCe')->findOneById(8)); $servicios->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:estatus')->findOneById(2)); $em->persist($servicios); $em->flush(); $motivo = $formSabatico->get('motivo')->getData(); $nombreMotivo = md5(uniqid()).'.'.$motivo->guessExtension(); $motivo->move( $this->container->getParameter('permiso_directory'), $nombreMotivo ); thumbnail3($nombreMotivo, $this->container->getParameter('permiso_directory'), $this->container->getParameter('permiso_thumb_directory')); verificar_documentos3($servicios->getIdRolInstitucion(),18,2,$em, $nombreMotivo, $servicios); $this->addFlash('success', 'Permiso solicitado satisfactoriamente'); return $this->redirect($this->generateUrl('servicios_index')); } /* Fin Estudio */ return $this->render('solicitudes/permisos_index.html.twig', array( 'formSabatico' => $formSabatico->createView() )); } } function thumbnail3 ($filename, $fuente, $destino){ $im = false; if(preg_match('/[.](jpeg)$/', $filename)) { $im = imagecreatefromjpeg($fuente . "/" . $filename); } else if (preg_match('/[.](jpg)$/', $filename)) { $im = imagecreatefromjpeg($fuente . "/" . $filename); }else if (preg_match('/[.](gif)$/', $filename)) { $im = imagecreatefromgif($fuente . "/" . $filename); } else if (preg_match('/[.](png)$/', $filename)) { $im = imagecreatefrompng($fuente . "/" . $filename); } if($im){ $ox = imagesx($im); $oy = imagesy($im); $nx = 80; $ny = 80; $nm = imagecreatetruecolor($nx, $ny); imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy); imagejpeg($nm, $destino . "/" . $filename); }else{ move_uploaded_file($filename, $destino); } } function verificar_documentos3($idRolInstitucion, $tipo, $estatus, $em, $ubicacion="", $servicio = 2){ $existe = $em->getRepository("AppBundle:DocumentosVerificados")->findOneBy(array( 'idRolInstitucion' => $idRolInstitucion, 'idTipoDocumentos' => $tipo, 'idServicio' => $servicio )); if(!$existe) { $verificacion = new DocumentosVerificados(); $verificacion->setIdEstatus($em->getRepository("AppBundle:Estatus")->findOneById($estatus)); $verificacion->setIdRolInstitucion($idRolInstitucion); $verificacion->setIdServicio($servicio); $verificacion->setIdTipoDocumentos($em->getRepository("AppBundle:TipoDocumentos")->findOneById($tipo)); $verificacion->setUbicacion($ubicacion); $em->persist($verificacion); $em->flush(); }else{ $existe->setIdEstatus($em->getRepository("AppBundle:Estatus")->findOneById($estatus)); $em->persist($existe); $em->flush(); } }