From 0fb9bdff02145d44fbebdb8376c018a5393c3767 Mon Sep 17 00:00:00 2001 From: Wilmer Date: Fri, 24 Mar 2017 10:29:20 -0400 Subject: [PATCH] =?UTF-8?q?a=C3=B1adido=20modificar=20el=20estatus=20de=20?= =?UTF-8?q?las=20tareas=20del=20pida?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Resources/views/solicitudes/pida.html.twig | 79 ++++++++++++++++++++-- src/AppBundle/Controller/AdscripcionController.php | 32 ++++++++- src/AppBundle/Controller/AjaxController.php | 39 ++++++++++- src/AppBundle/Entity/PidaEstatus.php | 6 ++ 4 files changed, 148 insertions(+), 8 deletions(-) diff --git a/app/Resources/views/solicitudes/pida.html.twig b/app/Resources/views/solicitudes/pida.html.twig index 5c3c7a0..9f43b36 100644 --- a/app/Resources/views/solicitudes/pida.html.twig +++ b/app/Resources/views/solicitudes/pida.html.twig @@ -68,12 +68,17 @@ Tarea Específica Plazo Estatus - {% for pid in pida %} + {% for pid in pida | sort %} - {{ pid.idPlanHistoricoNacionalEstrategico.nombre }} - {{ pid.idActividadDocente.nombre }} - - {% for tarea in pid.pidaTareaEspecifico %} + + {{ pid.idPlanHistoricoNacionalEstrategico.nombre }} + - + + + {{ pid.idActividadDocente.nombre }} + + + {% for tarea in pid.pidaTareaEspecifico | sort %} {{ tarea.pidaTareaEspecifico }} {% if loop.index == loop.length %} + @@ -82,7 +87,10 @@ {% endif %} {{ tarea.idPidaPlazo }} - {{ tarea.idPidaEstatus }} + + {{ tarea.idPidaEstatus }} + . + {% endfor %} @@ -130,6 +138,37 @@ + + + + {% endblock %} @@ -226,6 +265,34 @@ }); + $('[id^="delete"]').click(function() { + var x = confirm("eliminar Labor completa: " + $(this).attr('data-id')); + if(x) { + $.ajax({ + method: "POST", + url: "{{ url('ajax_eliminar_labor') }}", + async: true, + cache: false, + data: ({eliminar: $(this).attr('data-id')}), + success: function (data) { + console.log(data); + location.reload(); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + console.log(errorThrown); + + } + + }); + } + }); + + $('[id^="estatus"]').click(function() { + alert("presionado: " + $(this).attr('data-id')) + $("#id_estatus").val($(this).attr('data-id')); + }); + + diff --git a/src/AppBundle/Controller/AdscripcionController.php b/src/AppBundle/Controller/AdscripcionController.php index f66cca7..fb20304 100644 --- a/src/AppBundle/Controller/AdscripcionController.php +++ b/src/AppBundle/Controller/AdscripcionController.php @@ -9,8 +9,10 @@ namespace AppBundle\Controller; use AppBundle\Entity\DocumentosVerificados; +use AppBundle\Entity\PidaEstatus; use AppBundle\Entity\PidaTareaEspecifico; use AppBundle\Form\PidaTareaEspecificoType; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\FormError; use Symfony\Component\HttpFoundation\File\UploadedFile; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; @@ -471,6 +473,16 @@ class AdscripcionController extends Controller $editForm = $this->createForm('AppBundle\Form\PidaTareaEspecificoType', $tarea); $editForm->handleRequest($request); + + $estatusPida = new PidaEstatus(); + $Estatusform = $this->createFormBuilder($estatusPida) + ->add('nombre', EntityType::class, array( + 'class' => 'AppBundle\Entity\PidaEstatus' + )) + ->getForm(); + + $Estatusform->handleRequest($request); + $em = $this->getDoctrine()->getManager(); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); @@ -520,11 +532,29 @@ class AdscripcionController extends Controller } + if ($Estatusform->isSubmitted() && $Estatusform->isValid()) { + $id = filter_input(INPUT_POST, 'id_estatus', FILTER_SANITIZE_SPECIAL_CHARS); + //var_dump($estatusPida->getNombre()->getNombre()); die; + if($id) { + $estatus = $this->getDoctrine()->getRepository("AppBundle:PidaEstatus")->findOneByNombre($estatusPida->getNombre()->getNombre()); + $tarea = $this->getDoctrine()->getRepository("AppBundle:PidaTareaEspecifico")->findOneById($id); + $tarea->setIdPidaEstatus($estatus); + $em->persist($tarea); + + $em->flush(); + + return $this->redirectToRoute('solicitud_pida'); + } + + } + + return $this->render('solicitudes/pida.html.twig', array( 'form' => $form->createView(), 'pida' => $pid, 'servicio' => $serv, - 'editForm' => $editForm->createView() + 'editForm' => $editForm->createView(), + 'estatusForm' => $Estatusform->createView() )); diff --git a/src/AppBundle/Controller/AjaxController.php b/src/AppBundle/Controller/AjaxController.php index 3f6632a..b08a16a 100644 --- a/src/AppBundle/Controller/AjaxController.php +++ b/src/AppBundle/Controller/AjaxController.php @@ -239,7 +239,7 @@ class AjaxController extends Controller { /** - * @Route("/ajax/add/tarea", name="ajax_eliminar_tarea") + * @Route("/ajax/eliminar/tarea", name="ajax_eliminar_tarea") * @Method({"POST"}) */ public function eliminarTareaAction(Request $request){ @@ -274,6 +274,43 @@ class AjaxController extends Controller { } + + /** + * @Route("/ajax/eliminar/labor", name="ajax_eliminar_labor") + * @Method({"POST"}) + */ + public function eliminarLaborAction(Request $request){ + + if($request->isXmlHttpRequest()){ + $encoders = array(new JsonEncoder()); + $normalizers = array(new ObjectNormalizer()); + + $serializer = new Serializer($normalizers, $encoders); + + $id = filter_input(INPUT_POST, 'eliminar', FILTER_SANITIZE_SPECIAL_CHARS); + + + $em = $this->getDoctrine()->getManager(); + $pida = $em->getRepository("AppBundle:AdscripcionPida")->findOneById($id); + $em->remove($pida); + $em->flush(); + + + + + $response = new JsonResponse(); + $response->setStatusCode(200); + $response->setData(array( + 'response' => 'success' + )); + + return $response; + + + } + + } + /** diff --git a/src/AppBundle/Entity/PidaEstatus.php b/src/AppBundle/Entity/PidaEstatus.php index 874ff9d..c5daadb 100644 --- a/src/AppBundle/Entity/PidaEstatus.php +++ b/src/AppBundle/Entity/PidaEstatus.php @@ -100,6 +100,12 @@ class PidaEstatus { return $this->id; } + + /** + * Get nombre + * + * @return string + */ public function __toString() { return $this->getNombre(); -- 2.0.0