Commit 4a2ade5a310df77c4d5526b02a8c1533657a1662
1 parent
d7251b487b
Exists in
master
creado el poder añadir mas actividades a la labor ya creada
Showing
3 changed files
with
121 additions
and
4 deletions
Show diff stats
app/Resources/views/solicitudes/pida.html.twig
... | ... | @@ -74,9 +74,14 @@ |
74 | 74 | <td rowspan="{{ pid.pidaTareaEspecifico | length }}">{{ pid.idActividadDocente.nombre }}</td> |
75 | 75 | |
76 | 76 | {% for tarea in pid.pidaTareaEspecifico %} |
77 | - <td>{{ tarea.pidaTareaEspecifico }}</td> | |
77 | + <td>{{ tarea.pidaTareaEspecifico }} | |
78 | + {% if loop.index == loop.length %} | |
79 | + <a data-id="{{ pid.id }}" id="add_actividad{{ pid.id }}" data-toggle="modal" data-target="#nueva_actividad" class="btn btn-xs btn-warning">+</a> | |
80 | + {% endif %} | |
81 | + </td> | |
78 | 82 | <td>{{ tarea.idPidaPlazo }}</td> |
79 | 83 | <td>{{ tarea.idPidaEstatus }}</td> |
84 | + | |
80 | 85 | </tr> |
81 | 86 | {% endfor %} |
82 | 87 | |
... | ... | @@ -90,6 +95,39 @@ |
90 | 95 | |
91 | 96 | </div> |
92 | 97 | |
98 | + | |
99 | + | |
100 | + <div class="modal fade" id="nueva_actividad" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | |
101 | + <div class="modal-dialog" role="document"> | |
102 | + | |
103 | + <div class="modal-content"> | |
104 | + <div class="modal-header"> | |
105 | + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span | |
106 | + aria-hidden="true">×</span></button> | |
107 | + <h4 class="modal-title" id="myModalLabel">Nueva Actividad</h4> | |
108 | + </div> | |
109 | + | |
110 | + <div class="modal-body"> | |
111 | + | |
112 | + | |
113 | + {% form_theme editForm 'bootstrap_3_layout.html.twig' %} | |
114 | + {{ form_start(editForm) }} | |
115 | + {{ form_widget(editForm) }} | |
116 | + | |
117 | + <input type="hidden" id="id_pida" name="id_pida" value="" > | |
118 | + </div> | |
119 | + <div class="modal-footer"> | |
120 | + <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button> | |
121 | + <button type="submit" class="btn btn-success" name="rechazar" id="rechazar">Añadir Actividad | |
122 | + | |
123 | + </button> | |
124 | + </div> | |
125 | + {{ form_end(editForm) }} | |
126 | + </div> | |
127 | + | |
128 | + </div> | |
129 | + </div> | |
130 | + | |
93 | 131 | {% endblock %} |
94 | 132 | |
95 | 133 | |
... | ... | @@ -153,5 +191,19 @@ |
153 | 191 | |
154 | 192 | } |
155 | 193 | |
194 | + $('#nueva_actividad').on('hidden.bs.modal', function (e) { | |
195 | + $(".btn").button('reset'); | |
196 | + }); | |
197 | + | |
198 | + var buttonpressed; | |
199 | + $('[id^="add_"]').click(function() { | |
200 | + alert("presionado: " + $(this).attr('data-id')) | |
201 | + $("#id_pida").val($(this).attr('data-id')); | |
202 | + }); | |
203 | + | |
204 | + | |
205 | + | |
206 | + | |
207 | + | |
156 | 208 | </script> |
157 | 209 | {% endblock %} | ... | ... |
src/AppBundle/Controller/AdscripcionController.php
... | ... | @@ -10,6 +10,7 @@ namespace AppBundle\Controller; |
10 | 10 | |
11 | 11 | use AppBundle\Entity\DocumentosVerificados; |
12 | 12 | use AppBundle\Entity\PidaTareaEspecifico; |
13 | +use AppBundle\Form\PidaTareaEspecificoType; | |
13 | 14 | use Symfony\Component\Form\FormError; |
14 | 15 | use Symfony\Component\HttpFoundation\File\UploadedFile; |
15 | 16 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
... | ... | @@ -464,10 +465,13 @@ class AdscripcionController extends Controller |
464 | 465 | } |
465 | 466 | |
466 | 467 | $pida = new AdscripcionPida(); |
468 | + $tarea = new PidaTareaEspecifico(); | |
467 | 469 | $form = $this->createForm('AppBundle\Form\PidaType', $pida); |
468 | 470 | $form->handleRequest($request); |
469 | - | |
470 | - | |
471 | + | |
472 | + $editForm = $this->createForm('AppBundle\Form\PidaTareaEspecificoType', $tarea); | |
473 | + $editForm->handleRequest($request); | |
474 | + $em = $this->getDoctrine()->getManager(); | |
471 | 475 | if ($form->isSubmitted() && $form->isValid()) { |
472 | 476 | $em = $this->getDoctrine()->getManager(); |
473 | 477 | //Crear la solicitud de Servicio |
... | ... | @@ -499,11 +503,28 @@ class AdscripcionController extends Controller |
499 | 503 | |
500 | 504 | } |
501 | 505 | |
506 | + if ($editForm->isSubmitted() && $editForm->isValid()) { | |
507 | + $id = filter_input(INPUT_POST, 'id_pida', FILTER_SANITIZE_SPECIAL_CHARS); | |
508 | + if($id) { | |
509 | + | |
510 | + $pida = $this->getDoctrine()->getRepository("AppBundle:AdscripcionPida")->findOneById($id); | |
511 | + $tarea->setAdscripcionPidaId($pida); | |
512 | + $pida->addPidaTareaEspecifico($tarea); | |
513 | + $em->persist($pida); | |
514 | + | |
515 | + $em->flush(); | |
516 | + | |
517 | + return $this->redirectToRoute('solicitud_pida'); | |
518 | + } | |
519 | + | |
520 | + } | |
521 | + | |
502 | 522 | |
503 | 523 | return $this->render('solicitudes/pida.html.twig', array( |
504 | 524 | 'form' => $form->createView(), |
505 | 525 | 'pida' => $pid, |
506 | - 'servicio' => $serv | |
526 | + 'servicio' => $serv, | |
527 | + 'editForm' => $editForm->createView() | |
507 | 528 | )); |
508 | 529 | |
509 | 530 | ... | ... |
src/AppBundle/Controller/AjaxController.php
... | ... | @@ -235,6 +235,50 @@ class AjaxController extends Controller { |
235 | 235 | } |
236 | 236 | |
237 | 237 | } |
238 | + | |
239 | + | |
240 | + | |
241 | + /** | |
242 | + * @Route("/ajax/add/tarea", name="ajax_add_tarea") | |
243 | + * @Method({"POST"}) | |
244 | + */ | |
245 | + public function addTareaAction(Request $request){ | |
246 | + | |
247 | + if($request->isXmlHttpRequest()){ | |
248 | + $encoders = array(new JsonEncoder()); | |
249 | + $normalizers = array(new ObjectNormalizer()); | |
250 | + | |
251 | + $serializer = new Serializer($normalizers, $encoders); | |
252 | + | |
253 | + $pida = filter_input(INPUT_POST, 'pida', FILTER_SANITIZE_SPECIAL_CHARS); | |
254 | + | |
255 | + | |
256 | + $em = $this->getDoctrine()->getManager(); | |
257 | + $pida = $em->getRepository("AppBundle:AdscripcionPida")->findOneById($pida); | |
258 | + var_dump($request->request); exit; | |
259 | + $pida->addPidaTareaEspecifico($tarea); | |
260 | + $em->persist($pida); | |
261 | + $em->flush(); | |
262 | + | |
263 | + | |
264 | + $response = new JsonResponse(); | |
265 | + $response->setStatusCode(200); | |
266 | + $response->setData(array( | |
267 | + 'response' => 'success', | |
268 | + 'jurados' => $jurados, | |
269 | + 'adicionar_nombres' => $nuevos_nombres, | |
270 | + 'adicionar_institucion' => $nuevos_institucion, | |
271 | + 'adicionar_id' => $nuevos_id, | |
272 | + 'ascenso' => $ascensoId | |
273 | + )); | |
274 | + | |
275 | + return $response; | |
276 | + | |
277 | + | |
278 | + } | |
279 | + | |
280 | + } | |
281 | + | |
238 | 282 | |
239 | 283 | |
240 | 284 | /** | ... | ... |