Commit 86ad52b0796a7372b014c883b6ffc0ea7595acf9
1 parent
c8399c4cc1
Exists in
master
gran cambio en donde se amplia el uso del Pida a través de una collección de formularios
Showing
8 changed files
with
443 additions
and
158 deletions
Show diff stats
app/Resources/views/planificacionseccion/new.html.twig
@@ -9,19 +9,19 @@ | @@ -9,19 +9,19 @@ | ||
9 | {{ form_row(form.idtemaUc) }} | 9 | {{ form_row(form.idtemaUc) }} |
10 | 10 | ||
11 | <ul class="contenido" data-prototype="{{ form_widget(form.contenido.vars.prototype)|e('html_attr') }}"> | 11 | <ul class="contenido" data-prototype="{{ form_widget(form.contenido.vars.prototype)|e('html_attr') }}"> |
12 | - | 12 | + |
13 | </ul> | 13 | </ul> |
14 | - | 14 | + |
15 | <ul class="objetivoEspecifico" data-prototype="{{ form_widget(form.objetivoEspecifico.vars.prototype)|e('html_attr') }}"> | 15 | <ul class="objetivoEspecifico" data-prototype="{{ form_widget(form.objetivoEspecifico.vars.prototype)|e('html_attr') }}"> |
16 | - | 16 | + |
17 | </ul> | 17 | </ul> |
18 | - | 18 | + |
19 | <ul class="estrategia" data-prototype="{{ form_widget(form.estrategia.vars.prototype)|e('html_attr') }}"> | 19 | <ul class="estrategia" data-prototype="{{ form_widget(form.estrategia.vars.prototype)|e('html_attr') }}"> |
20 | - | 20 | + |
21 | </ul> | 21 | </ul> |
22 | - | 22 | + |
23 | <ul class="evaluacion" data-prototype="{{ form_widget(form.evaluacion.vars.prototype)|e('html_attr') }}"> | 23 | <ul class="evaluacion" data-prototype="{{ form_widget(form.evaluacion.vars.prototype)|e('html_attr') }}"> |
24 | - | 24 | + |
25 | </ul> | 25 | </ul> |
26 | 26 | ||
27 | <input type="submit" value="Create" /> | 27 | <input type="submit" value="Create" /> |
@@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
46 | var $addEstrategiaLink = $('<a href="#" class="add_estrategia_link">Añadir estrategias</a>'); | 46 | var $addEstrategiaLink = $('<a href="#" class="add_estrategia_link">Añadir estrategias</a>'); |
47 | var $addEvaluacionLink = $('<a href="#" class="add_evaluacion_link">Añadir Evaluaciones</a>'); | 47 | var $addEvaluacionLink = $('<a href="#" class="add_evaluacion_link">Añadir Evaluaciones</a>'); |
48 | var $RemoveContenidoLink = $('<a href="#" class="remove_contenido_link">Quitar Conceptos</a>'); | 48 | var $RemoveContenidoLink = $('<a href="#" class="remove_contenido_link">Quitar Conceptos</a>'); |
49 | - | 49 | + |
50 | var $newLinkLiContenido = $('<li></li>').append($addContenidoLink); | 50 | var $newLinkLiContenido = $('<li></li>').append($addContenidoLink); |
51 | var $newLinkLiEspecifico = $('<li></li>').append($addEspecificoLink); | 51 | var $newLinkLiEspecifico = $('<li></li>').append($addEspecificoLink); |
52 | var $newLinkLiEstrategia = $('<li></li>').append($addEstrategiaLink); | 52 | var $newLinkLiEstrategia = $('<li></li>').append($addEstrategiaLink); |
app/Resources/views/solicitudes/pida.html.twig
@@ -13,6 +13,12 @@ | @@ -13,6 +13,12 @@ | ||
13 | .container{ | 13 | .container{ |
14 | margin-bottom: 0; | 14 | margin-bottom: 0; |
15 | } | 15 | } |
16 | + | ||
17 | + .account-container{ | ||
18 | + width:100%; | ||
19 | + margin-left: 50px; | ||
20 | + } | ||
21 | + | ||
16 | </style> | 22 | </style> |
17 | {% endblock %} | 23 | {% endblock %} |
18 | 24 | ||
@@ -29,23 +35,60 @@ | @@ -29,23 +35,60 @@ | ||
29 | 35 | ||
30 | </h4> | 36 | </h4> |
31 | </div> | 37 | </div> |
32 | - <div class="account-container register"> | ||
33 | - <div class="content clearfix"> | ||
34 | - <h1>PIDA</h1> | ||
35 | - {% form_theme form 'bootstrap_3_layout.html.twig' %} | ||
36 | - {{ form_start(form) }} | ||
37 | - {{ form_widget(form) }} | 38 | + <div class="row"> |
39 | + <div class="col-md-5"> | ||
40 | + | ||
38 | 41 | ||
39 | - <ul class="actividad" data-prototype="{{ form_widget(form.contenido.vars.prototype)|e('html_attr') }}"> | 42 | + <div class="account-container register"> |
43 | + <div class="content clearfix"> | ||
44 | + <h1>PIDA</h1> | ||
45 | + {% form_theme form 'bootstrap_3_layout.html.twig' %} | ||
46 | + {{ form_start(form) }} | ||
47 | + {{ form_row(form.id_plan_historico_nacional_estrategico) }} | ||
48 | + {{ form_row(form.id_actividad_docente) }} | ||
49 | + <ul class="actividad" data-prototype="{{ form_widget(form.pidaTareaEspecifico.vars.prototype)|e('html_attr') }}"> | ||
40 | 50 | ||
41 | - </ul> | 51 | + </ul> |
42 | 52 | ||
53 | + <button type="submit" class="btn btn-success">Añadir</button> | ||
54 | + <button type="submit" class="btn btn-primary">Añadir y Finalizar</button> | ||
55 | + {{ form_end(form) }} | ||
56 | + </div> | ||
43 | 57 | ||
44 | - {{ form_end(form) }} | 58 | + </div> |
45 | </div> | 59 | </div> |
46 | - | ||
47 | - </div> | 60 | + {% if pida %} |
61 | + <div class="col-md-6"> | ||
62 | + <div class="account-container register"> | ||
63 | + <div class="content clearfix"> | ||
64 | + <h2>Mi pida <span class="small" style="float: right;"> Estatus: {{ servicio.idEstatus }}</span></h2> | ||
65 | + <table class="table table-bordered"> | ||
66 | + <th>Objetivo Histórico</th> | ||
67 | + <th>Actividad Docente</th> | ||
68 | + <th>Tarea Específica</th> | ||
69 | + <th>Plazo</th> | ||
70 | + <th>Estatus</th> | ||
71 | + {% for pid in pida %} | ||
72 | + <tr> | ||
73 | + <td rowspan="{{ pid.pidaTareaEspecifico | length }}">{{ pid.idPlanHistoricoNacionalEstrategico.nombre }}</td> | ||
74 | + <td rowspan="{{ pid.pidaTareaEspecifico | length }}">{{ pid.idActividadDocente.nombre }}</td> | ||
75 | + | ||
76 | + {% for tarea in pid.pidaTareaEspecifico %} | ||
77 | + <td>{{ tarea.pidaTareaEspecifico }}</td> | ||
78 | + <td>{{ tarea.idPidaPlazo }}</td> | ||
79 | + <td>{{ tarea.idPidaEstatus }}</td> | ||
80 | + </tr> | ||
81 | + {% endfor %} | ||
48 | 82 | ||
83 | + </tr> | ||
84 | + {% endfor %} | ||
85 | + </table> | ||
86 | + </div> | ||
87 | + </div> | ||
88 | + </div> | ||
89 | + {% endif %} | ||
90 | + | ||
91 | + </div> | ||
49 | 92 | ||
50 | {% endblock %} | 93 | {% endblock %} |
51 | 94 | ||
@@ -58,5 +101,57 @@ | @@ -58,5 +101,57 @@ | ||
58 | <script type="text/javascript"> | 101 | <script type="text/javascript"> |
59 | 102 | ||
60 | $('select').select2(); | 103 | $('select').select2(); |
104 | + var $addActividadLink = $('<a href="#" class="add_actividad_link">Añadir Tarea Específica</a>'); | ||
105 | + var $newLinkLiActividad = $('<li></li>').append($addActividadLink); | ||
106 | + jQuery(document).ready(function() { | ||
107 | + $ActividadHolder = $('ul.actividad'); | ||
108 | + $ActividadHolder.append($newLinkLiActividad); | ||
109 | + $ActividadHolder.data('index', $ActividadHolder.find(':input').length); | ||
110 | + console.log($ActividadHolder); | ||
111 | + $addActividadLink.on('click', function(e) { | ||
112 | + // prevent the link from creating a "#" on the URL | ||
113 | + e.preventDefault(); | ||
114 | + | ||
115 | + // add a new tag form (see next code block) | ||
116 | + addActividadForm($ActividadHolder, $newLinkLiActividad); | ||
117 | + }); | ||
118 | + | ||
119 | + }); | ||
120 | + | ||
121 | + function addActividadForm($contenidoHolder, $newLinkLiContenido) { | ||
122 | + // Get the data-prototype explained earlier | ||
123 | + var prototype = $contenidoHolder.data('prototype'); | ||
124 | + console.log(prototype); | ||
125 | + | ||
126 | + // get the new index | ||
127 | + var index = $contenidoHolder.data('index'); | ||
128 | + | ||
129 | + // Replace '$$name$$' in the prototype's HTML to | ||
130 | + // instead be a number based on how many items we have | ||
131 | + var newFormContenido = prototype.replace(/__name__/g, index); | ||
132 | + | ||
133 | + // increase the index with one for the next item | ||
134 | + $contenidoHolder.data('index', index + 1); | ||
135 | + | ||
136 | + // Display the form in the page in an li, before the "Add a tag" link li | ||
137 | + var $newFormLiContenido = $('<li></li>').append(newFormContenido); | ||
138 | + | ||
139 | + // also add a remove button, just for this example | ||
140 | + $newFormLiContenido.append('<a href="#" class="remove-tag">x</a>'); | ||
141 | + | ||
142 | + $newLinkLiContenido.before($newFormLiContenido); | ||
143 | + | ||
144 | + // handle the removal, just for this example | ||
145 | + $('.remove-tag').click(function(e) { | ||
146 | + e.preventDefault(); | ||
147 | + | ||
148 | + $(this).parent().remove(); | ||
149 | + | ||
150 | + return false; | ||
151 | + }); | ||
152 | + | ||
153 | + | ||
154 | + } | ||
155 | + | ||
61 | </script> | 156 | </script> |
62 | {% endblock %} | 157 | {% endblock %} |
src/AppBundle/Controller/AdscripcionController.php
@@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
9 | namespace AppBundle\Controller; | 9 | namespace AppBundle\Controller; |
10 | 10 | ||
11 | use AppBundle\Entity\DocumentosVerificados; | 11 | use AppBundle\Entity\DocumentosVerificados; |
12 | +use AppBundle\Entity\PidaTareaEspecifico; | ||
12 | use Symfony\Component\Form\FormError; | 13 | use Symfony\Component\Form\FormError; |
13 | use Symfony\Component\HttpFoundation\File\UploadedFile; | 14 | use Symfony\Component\HttpFoundation\File\UploadedFile; |
14 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | 15 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
@@ -448,9 +449,19 @@ class AdscripcionController extends Controller | @@ -448,9 +449,19 @@ class AdscripcionController extends Controller | ||
448 | if(!$adscripcion) return $this->redirect($this->generateUrl('solicitud_adscripcion')); | 449 | if(!$adscripcion) return $this->redirect($this->generateUrl('solicitud_adscripcion')); |
449 | 450 | ||
450 | //si ya se tiene PIDA | 451 | //si ya se tiene PIDA |
451 | - if($this->getDoctrine()->getRepository('AppBundle:AdscripcionPida')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()->getId())){ | ||
452 | - return $this->redirect($this->generateUrl('cea_index')); | ||
453 | - } | 452 | + $pid = $this->getDoctrine()->getRepository('AppBundle:AdscripcionPida')->findByIdRolInstitucion(array( |
453 | + 'idRolInstitucion' => $this->getUser()->getIdRolInstitucion()->getId() | ||
454 | + )); | ||
455 | + | ||
456 | + $serv = ""; | ||
457 | + | ||
458 | + if($pid){ | ||
459 | + $serv = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')-> | ||
460 | + findOneBy(array( | ||
461 | + 'idRolInstitucion' => $this->getUser()->getIdRolInstitucion()->getId(), | ||
462 | + 'idServicioCe' => 4 | ||
463 | + )); | ||
464 | + } | ||
454 | 465 | ||
455 | $pida = new AdscripcionPida(); | 466 | $pida = new AdscripcionPida(); |
456 | $form = $this->createForm('AppBundle\Form\PidaType', $pida); | 467 | $form = $this->createForm('AppBundle\Form\PidaType', $pida); |
@@ -458,33 +469,42 @@ class AdscripcionController extends Controller | @@ -458,33 +469,42 @@ class AdscripcionController extends Controller | ||
458 | 469 | ||
459 | 470 | ||
460 | if ($form->isSubmitted() && $form->isValid()) { | 471 | if ($form->isSubmitted() && $form->isValid()) { |
461 | - | 472 | + $em = $this->getDoctrine()->getManager(); |
462 | //Crear la solicitud de Servicio | 473 | //Crear la solicitud de Servicio |
463 | - $servicios = new DocenteServicio(); | 474 | + if(!$pid) { |
475 | + $servicios = new DocenteServicio(); | ||
464 | 476 | ||
465 | - $servicios->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); | ||
466 | - $servicios->setIdServicioCe($this->getDoctrine()->getRepository('AppBundle:ServiciosCe')->findOneById(4)); | ||
467 | - $servicios->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:estatus')->findOneById(2)); | 477 | + $servicios->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); |
478 | + $servicios->setIdServicioCe($this->getDoctrine()->getRepository('AppBundle:ServiciosCe')->findOneById(4)); | ||
479 | + $servicios->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:estatus')->findOneById(2)); | ||
480 | + $em->persist($servicios); | ||
481 | + } | ||
468 | 482 | ||
469 | 483 | ||
470 | 484 | ||
471 | $pida->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); | 485 | $pida->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); |
472 | $pida->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:Estatus')->findOneById(2)); | 486 | $pida->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:Estatus')->findOneById(2)); |
487 | + foreach($pida->getPidaTareaEspecifico() as $especifico){ | ||
488 | + //var_dump($especifico); exit; | ||
489 | + $especifico->setAdscripcionPidaId($pida); | ||
490 | + } | ||
491 | + | ||
473 | 492 | ||
474 | - $em = $this->getDoctrine()->getManager(); | 493 | + |
475 | $em->persist($pida); | 494 | $em->persist($pida); |
476 | - $em->persist($servicios); | 495 | + |
477 | $em->flush(); | 496 | $em->flush(); |
478 | - | ||
479 | - return $this->redirectToRoute('cea_index'); | 497 | + |
498 | + return $this->redirectToRoute('solicitud_pida'); | ||
480 | 499 | ||
481 | } | 500 | } |
482 | - | ||
483 | - | ||
484 | - return $this->render( | ||
485 | - 'solicitudes/pida.html.twig', | ||
486 | - array('form' => $form->createView()) | ||
487 | - ); | 501 | + |
502 | + | ||
503 | + return $this->render('solicitudes/pida.html.twig', array( | ||
504 | + 'form' => $form->createView(), | ||
505 | + 'pida' => $pid, | ||
506 | + 'servicio' => $serv | ||
507 | + )); | ||
488 | 508 | ||
489 | 509 | ||
490 | } | 510 | } |
src/AppBundle/Entity/AdscripcionPida.php
@@ -3,13 +3,14 @@ | @@ -3,13 +3,14 @@ | ||
3 | 3 | ||
4 | namespace AppBundle\Entity; | 4 | namespace AppBundle\Entity; |
5 | 5 | ||
6 | +use Doctrine\Common\Collections\ArrayCollection; | ||
6 | use Doctrine\ORM\Mapping as ORM; | 7 | use Doctrine\ORM\Mapping as ORM; |
7 | 8 | ||
8 | 9 | ||
9 | /** | 10 | /** |
10 | * AdscripcionPida | 11 | * AdscripcionPida |
11 | * | 12 | * |
12 | - * @ORM\Table(name="solicitud_pida", uniqueConstraints={@ORM\UniqueConstraint(name="pida_id_rol_institucion_key", columns={"id_rol_institucion"})}) | 13 | + * @ORM\Table(name="solicitud_pida", uniqueConstraints={@ORM\UniqueConstraint(name="pida_id_rol_institucion_key", columns={"id_rol_institucion", "id_plan_historico_nacional_estrategico", "id_actividad_docente"})}) |
13 | * @ORM\Entity | 14 | * @ORM\Entity |
14 | * @ORM\HasLifecycleCallbacks() | 15 | * @ORM\HasLifecycleCallbacks() |
15 | */ | 16 | */ |
@@ -25,14 +26,13 @@ class AdscripcionPida | @@ -25,14 +26,13 @@ class AdscripcionPida | ||
25 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) | 26 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) |
26 | */ | 27 | */ |
27 | private $id; | 28 | private $id; |
28 | - | ||
29 | - | 29 | + |
30 | + | ||
30 | /** | 31 | /** |
31 | - * @var string | ||
32 | - * | ||
33 | - * @ORM\Column(name="objetivo_especifico", type="text", nullable=false, options={"comment" = "objetivo especifico a desarrollar dentro enmarcado en el plan patria"}) | 32 | + * @ORM\OneToMany(targetEntity="AppBundle\Entity\PidaTareaEspecifico", mappedBy="adscripcionPidaId",cascade={"all"}) |
33 | + * @var \Doctrine\Common\Collections\ArrayCollection | ||
34 | */ | 34 | */ |
35 | - private $objetivoEspecifico; | 35 | + private $pidaTareaEspecifico; |
36 | 36 | ||
37 | 37 | ||
38 | 38 | ||
@@ -70,15 +70,7 @@ class AdscripcionPida | @@ -70,15 +70,7 @@ class AdscripcionPida | ||
70 | protected $idActividadDocente; | 70 | protected $idActividadDocente; |
71 | 71 | ||
72 | 72 | ||
73 | - /** | ||
74 | - * @var \AppBundle\Entity\PidaPlazo | ||
75 | - * | ||
76 | - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaPlazo") | ||
77 | - * @ORM\JoinColumns({ | ||
78 | - * @ORM\JoinColumn(name="id_pida_plazo", referencedColumnName="id", nullable=true) | ||
79 | - * }) | ||
80 | - */ | ||
81 | - protected $idPidaPlazo; | 73 | + |
82 | 74 | ||
83 | 75 | ||
84 | 76 | ||
@@ -98,15 +90,6 @@ class AdscripcionPida | @@ -98,15 +90,6 @@ class AdscripcionPida | ||
98 | private $fecha_ultima_actualizacion; | 90 | private $fecha_ultima_actualizacion; |
99 | 91 | ||
100 | 92 | ||
101 | - /** | ||
102 | - * @var \AppBundle\Entity\PidaEstatus | ||
103 | - * | ||
104 | - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaEstatus") | ||
105 | - * @ORM\JoinColumns({ | ||
106 | - * @ORM\JoinColumn(name="id_pida_estatus", referencedColumnName="id", nullable=true) | ||
107 | - * }) | ||
108 | - */ | ||
109 | - protected $idPidaEstatus; | ||
110 | 93 | ||
111 | 94 | ||
112 | 95 | ||
@@ -267,72 +250,50 @@ class AdscripcionPida | @@ -267,72 +250,50 @@ class AdscripcionPida | ||
267 | 250 | ||
268 | 251 | ||
269 | 252 | ||
270 | - /** | ||
271 | - * Set objetivoEspecifico | ||
272 | - * | ||
273 | - * @param string $objetivoEspecifico | ||
274 | - * @return AdscripcionPida | ||
275 | - */ | ||
276 | - public function setObjetivoEspecifico($objetivoEspecifico) | ||
277 | - { | ||
278 | - $this->objetivoEspecifico = $objetivoEspecifico; | ||
279 | 253 | ||
280 | - return $this; | ||
281 | - } | ||
282 | 254 | ||
283 | /** | 255 | /** |
284 | - * Get objetivoEspecifico | ||
285 | - * | ||
286 | - * @return string | 256 | + * Constructor |
287 | */ | 257 | */ |
288 | - public function getObjetivoEspecifico() | 258 | + public function __construct() |
289 | { | 259 | { |
290 | - return $this->objetivoEspecifico; | 260 | + $this->pidaTareaEspecifico = new ArrayCollection(); |
291 | } | 261 | } |
292 | 262 | ||
293 | /** | 263 | /** |
294 | - * Set idPidaPlazo | 264 | + * Add pidaTareaEspecifico |
295 | * | 265 | * |
296 | - * @param \AppBundle\Entity\PidaPlazo $idPidaPlazo | 266 | + * @param \AppBundle\Entity\PidaTareaEspecifico $pidaTareaEspecifico |
297 | * @return AdscripcionPida | 267 | * @return AdscripcionPida |
298 | */ | 268 | */ |
299 | - public function setIdPidaPlazo(\AppBundle\Entity\PidaPlazo $idPidaPlazo = null) | 269 | + public function addPidaTareaEspecifico(\AppBundle\Entity\PidaTareaEspecifico $pidaTareaEspecifico) |
300 | { | 270 | { |
301 | - $this->idPidaPlazo = $idPidaPlazo; | 271 | + $this->pidaTareaEspecifico[] = $pidaTareaEspecifico; |
302 | 272 | ||
303 | return $this; | 273 | return $this; |
304 | } | 274 | } |
305 | 275 | ||
306 | /** | 276 | /** |
307 | - * Get idPidaPlazo | 277 | + * Remove pidaTareaEspecifico |
308 | * | 278 | * |
309 | - * @return \AppBundle\Entity\PidaPlazo | 279 | + * @param \AppBundle\Entity\PidaTareaEspecifico $pidaTareaEspecifico |
310 | */ | 280 | */ |
311 | - public function getIdPidaPlazo() | 281 | + public function removePidaTareaEspecifico(\AppBundle\Entity\PidaTareaEspecifico $pidaTareaEspecifico) |
312 | { | 282 | { |
313 | - return $this->idPidaPlazo; | 283 | + $this->pidaTareaEspecifico->removeElement($pidaTareaEspecifico); |
314 | } | 284 | } |
315 | 285 | ||
316 | /** | 286 | /** |
317 | - * Set idPidaEstatus | 287 | + * Get pidaTareaEspecifico |
318 | * | 288 | * |
319 | - * @param \AppBundle\Entity\PidaEstatus $idPidaEstatus | ||
320 | - * @return AdscripcionPida | 289 | + * @return \Doctrine\Common\Collections\Collection |
321 | */ | 290 | */ |
322 | - public function setIdPidaEstatus(\AppBundle\Entity\PidaEstatus $idPidaEstatus) | 291 | + public function getPidaTareaEspecifico() |
323 | { | 292 | { |
324 | - $this->idPidaEstatus = $idPidaEstatus; | ||
325 | - | ||
326 | - return $this; | 293 | + return $this->pidaTareaEspecifico; |
327 | } | 294 | } |
328 | 295 | ||
329 | - /** | ||
330 | - * Get idPidaEstatus | ||
331 | - * | ||
332 | - * @return \AppBundle\Entity\PidaEstatus | ||
333 | - */ | ||
334 | - public function getIdPidaEstatus() | ||
335 | - { | ||
336 | - return $this->idPidaEstatus; | 296 | + public function __toString() { |
297 | + return $this->getIdRolInstitucion()->getIdRol()->getIdPersona()->getPrimerNombre(); | ||
337 | } | 298 | } |
338 | } | 299 | } |
src/AppBundle/Entity/AdscripcionPida.php~
@@ -25,14 +25,13 @@ class AdscripcionPida | @@ -25,14 +25,13 @@ class AdscripcionPida | ||
25 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) | 25 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) |
26 | */ | 26 | */ |
27 | private $id; | 27 | private $id; |
28 | - | ||
29 | - | 28 | + |
29 | + | ||
30 | /** | 30 | /** |
31 | - * @var string | ||
32 | - * | ||
33 | - * @ORM\Column(name="objetivo_especifico", type="text", nullable=false, options={"comment" = "objetivo especifico a desarrollar dentro enmarcado en el plan patria"}) | 31 | + * @ORM\OneToMany(targetEntity="AppBundle\Entity\PidaTareaEspecifico", mappedBy="AdscripcionPidaId",cascade={"all"}) |
32 | + * @var \Doctrine\Common\Collections\ArrayCollection | ||
34 | */ | 33 | */ |
35 | - private $objetivoEspecifico; | 34 | + private $pidaTareaEspecifico; |
36 | 35 | ||
37 | 36 | ||
38 | 37 | ||
@@ -103,7 +102,7 @@ class AdscripcionPida | @@ -103,7 +102,7 @@ class AdscripcionPida | ||
103 | * | 102 | * |
104 | * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaEstatus") | 103 | * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaEstatus") |
105 | * @ORM\JoinColumns({ | 104 | * @ORM\JoinColumns({ |
106 | - * @ORM\JoinColumn(name="id_pida_estatus", referencedColumnName="id", nullable=false) | 105 | + * @ORM\JoinColumn(name="id_pida_estatus", referencedColumnName="id", nullable=true) |
107 | * }) | 106 | * }) |
108 | */ | 107 | */ |
109 | protected $idPidaEstatus; | 108 | protected $idPidaEstatus; |
@@ -267,49 +266,50 @@ class AdscripcionPida | @@ -267,49 +266,50 @@ class AdscripcionPida | ||
267 | 266 | ||
268 | 267 | ||
269 | 268 | ||
269 | + | ||
270 | /** | 270 | /** |
271 | - * Set objetivoEspecifico | 271 | + * Set idPidaPlazo |
272 | * | 272 | * |
273 | - * @param string $objetivoEspecifico | 273 | + * @param \AppBundle\Entity\PidaPlazo $idPidaPlazo |
274 | * @return AdscripcionPida | 274 | * @return AdscripcionPida |
275 | */ | 275 | */ |
276 | - public function setObjetivoEspecifico($objetivoEspecifico) | 276 | + public function setIdPidaPlazo(\AppBundle\Entity\PidaPlazo $idPidaPlazo = null) |
277 | { | 277 | { |
278 | - $this->objetivoEspecifico = $objetivoEspecifico; | 278 | + $this->idPidaPlazo = $idPidaPlazo; |
279 | 279 | ||
280 | return $this; | 280 | return $this; |
281 | } | 281 | } |
282 | 282 | ||
283 | /** | 283 | /** |
284 | - * Get objetivoEspecifico | 284 | + * Get idPidaPlazo |
285 | * | 285 | * |
286 | - * @return string | 286 | + * @return \AppBundle\Entity\PidaPlazo |
287 | */ | 287 | */ |
288 | - public function getObjetivoEspecifico() | 288 | + public function getIdPidaPlazo() |
289 | { | 289 | { |
290 | - return $this->objetivoEspecifico; | 290 | + return $this->idPidaPlazo; |
291 | } | 291 | } |
292 | 292 | ||
293 | /** | 293 | /** |
294 | - * Set idPidaPlazo | 294 | + * Set idPidaEstatus |
295 | * | 295 | * |
296 | - * @param \AppBundle\Entity\PidaPlazo $idPidaPlazo | 296 | + * @param \AppBundle\Entity\PidaEstatus $idPidaEstatus |
297 | * @return AdscripcionPida | 297 | * @return AdscripcionPida |
298 | */ | 298 | */ |
299 | - public function setIdPidaPlazo(\AppBundle\Entity\PidaPlazo $idPidaPlazo = null) | 299 | + public function setIdPidaEstatus(\AppBundle\Entity\PidaEstatus $idPidaEstatus) |
300 | { | 300 | { |
301 | - $this->idPidaPlazo = $idPidaPlazo; | 301 | + $this->idPidaEstatus = $idPidaEstatus; |
302 | 302 | ||
303 | return $this; | 303 | return $this; |
304 | } | 304 | } |
305 | 305 | ||
306 | /** | 306 | /** |
307 | - * Get idPidaPlazo | 307 | + * Get idPidaEstatus |
308 | * | 308 | * |
309 | - * @return \AppBundle\Entity\PidaPlazo | 309 | + * @return \AppBundle\Entity\PidaEstatus |
310 | */ | 310 | */ |
311 | - public function getIdPidaPlazo() | 311 | + public function getIdPidaEstatus() |
312 | { | 312 | { |
313 | - return $this->idPidaPlazo; | 313 | + return $this->idPidaEstatus; |
314 | } | 314 | } |
315 | } | 315 | } |
src/AppBundle/Entity/PidaTareaEspecifico.php
@@ -0,0 +1,171 @@ | @@ -0,0 +1,171 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +namespace AppBundle\Entity; | ||
4 | + | ||
5 | +use Doctrine\ORM\Mapping as ORM; | ||
6 | + | ||
7 | +/** | ||
8 | + * PidaTareaEspecifico | ||
9 | + * | ||
10 | + * @ORM\Table(name="pida_tarea_especifico") | ||
11 | + * @ORM\Entity | ||
12 | + */ | ||
13 | +class PidaTareaEspecifico | ||
14 | +{ | ||
15 | + /** | ||
16 | + * @var text | ||
17 | + * | ||
18 | + * @ORM\Column(name="pida_tarea_especifico", type="text", nullable=false, options={"comment" = "Tarea especifia ejecuta por el docenta bajo una labor y enmarcada en el plan de la patria"}) | ||
19 | + */ | ||
20 | + private $pidaTareaEspecifico; | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + /** | ||
25 | + * @var integer | ||
26 | + * | ||
27 | + * @ORM\Column(name="id", type="integer", nullable=false, options={"comment" = "Identificador del municipio"}) | ||
28 | + * @ORM\Id | ||
29 | + * @ORM\GeneratedValue(strategy="IDENTITY") | ||
30 | + * @ORM\SequenceGenerator(sequenceName="municipio_id_seq", allocationSize=1, initialValue=1) | ||
31 | + */ | ||
32 | + private $id; | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + /** | ||
37 | + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\AdscripcionPida", inversedBy="pidaTareaEspecifico") | ||
38 | + * @ORM\JoinColumn(name="adscripcion_pida_id", referencedColumnName="id", nullable=FALSE) | ||
39 | + */ | ||
40 | + private $adscripcionPidaId; | ||
41 | + | ||
42 | + /** | ||
43 | + * @var \AppBundle\Entity\PidaPlazo | ||
44 | + * | ||
45 | + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaPlazo") | ||
46 | + * @ORM\JoinColumns({ | ||
47 | + * @ORM\JoinColumn(name="id_pida_plazo", referencedColumnName="id", nullable=true) | ||
48 | + * }) | ||
49 | + */ | ||
50 | + protected $idPidaPlazo; | ||
51 | + | ||
52 | + | ||
53 | + /** | ||
54 | + * @var \AppBundle\Entity\PidaEstatus | ||
55 | + * | ||
56 | + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaEstatus") | ||
57 | + * @ORM\JoinColumns({ | ||
58 | + * @ORM\JoinColumn(name="id_pida_estatus", referencedColumnName="id", nullable=true) | ||
59 | + * }) | ||
60 | + */ | ||
61 | + protected $idPidaEstatus; | ||
62 | + | ||
63 | + | ||
64 | + | ||
65 | + | ||
66 | + /** | ||
67 | + * Get id | ||
68 | + * | ||
69 | + * @return integer | ||
70 | + */ | ||
71 | + public function getId() | ||
72 | + { | ||
73 | + return $this->id; | ||
74 | + } | ||
75 | + | ||
76 | + /** | ||
77 | + * Set adscripcionPidaId | ||
78 | + * | ||
79 | + * @param \AppBundle\Entity\AdscripcionPida $adscripcionPidaId | ||
80 | + * @return PidaTareaEspecifico | ||
81 | + */ | ||
82 | + public function setAdscripcionPidaId(\AppBundle\Entity\AdscripcionPida $adscripcionPidaId) | ||
83 | + { | ||
84 | + $this->adscripcionPidaId = $adscripcionPidaId; | ||
85 | + | ||
86 | + return $this; | ||
87 | + } | ||
88 | + | ||
89 | + /** | ||
90 | + * Get adscripcionPidaId | ||
91 | + * | ||
92 | + * @return \AppBundle\Entity\AdscripcionPida | ||
93 | + */ | ||
94 | + public function getAdscripcionPidaId() | ||
95 | + { | ||
96 | + return $this->adscripcionPidaId; | ||
97 | + } | ||
98 | + | ||
99 | + /** | ||
100 | + * Set pidaTareaEspecifico | ||
101 | + * | ||
102 | + * @param string $pidaTareaEspecifico | ||
103 | + * @return PidaTareaEspecifico | ||
104 | + */ | ||
105 | + public function setPidaTareaEspecifico($pidaTareaEspecifico) | ||
106 | + { | ||
107 | + $this->pidaTareaEspecifico = $pidaTareaEspecifico; | ||
108 | + | ||
109 | + return $this; | ||
110 | + } | ||
111 | + | ||
112 | + /** | ||
113 | + * Get pidaTareaEspecifico | ||
114 | + * | ||
115 | + * @return string | ||
116 | + */ | ||
117 | + public function getPidaTareaEspecifico() | ||
118 | + { | ||
119 | + return $this->pidaTareaEspecifico; | ||
120 | + } | ||
121 | + | ||
122 | + /** | ||
123 | + * Set idPidaPlazo | ||
124 | + * | ||
125 | + * @param \AppBundle\Entity\PidaPlazo $idPidaPlazo | ||
126 | + * @return PidaTareaEspecifico | ||
127 | + */ | ||
128 | + public function setIdPidaPlazo(\AppBundle\Entity\PidaPlazo $idPidaPlazo = null) | ||
129 | + { | ||
130 | + $this->idPidaPlazo = $idPidaPlazo; | ||
131 | + | ||
132 | + return $this; | ||
133 | + } | ||
134 | + | ||
135 | + /** | ||
136 | + * Get idPidaPlazo | ||
137 | + * | ||
138 | + * @return \AppBundle\Entity\PidaPlazo | ||
139 | + */ | ||
140 | + public function getIdPidaPlazo() | ||
141 | + { | ||
142 | + return $this->idPidaPlazo; | ||
143 | + } | ||
144 | + | ||
145 | + /** | ||
146 | + * Set idPidaEstatus | ||
147 | + * | ||
148 | + * @param \AppBundle\Entity\PidaEstatus $idPidaEstatus | ||
149 | + * @return PidaTareaEspecifico | ||
150 | + */ | ||
151 | + public function setIdPidaEstatus(\AppBundle\Entity\PidaEstatus $idPidaEstatus = null) | ||
152 | + { | ||
153 | + $this->idPidaEstatus = $idPidaEstatus; | ||
154 | + | ||
155 | + return $this; | ||
156 | + } | ||
157 | + | ||
158 | + /** | ||
159 | + * Get idPidaEstatus | ||
160 | + * | ||
161 | + * @return \AppBundle\Entity\PidaEstatus | ||
162 | + */ | ||
163 | + public function getIdPidaEstatus() | ||
164 | + { | ||
165 | + return $this->idPidaEstatus; | ||
166 | + } | ||
167 | + public function __toString() | ||
168 | + { | ||
169 | + return $this->getPidaTareaEspecifico(); | ||
170 | + } | ||
171 | +} |
src/AppBundle/Form/PidaTareaEspecificoType.php
@@ -0,0 +1,66 @@ | @@ -0,0 +1,66 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +namespace AppBundle\Form; | ||
4 | + | ||
5 | +use Doctrine\ORM\EntityRepository; | ||
6 | +use Symfony\Bridge\Doctrine\Form\Type\EntityType; | ||
7 | +use Symfony\Component\Form\AbstractType; | ||
8 | +use Symfony\Component\Form\FormBuilderInterface; | ||
9 | +use Symfony\Component\OptionsResolver\OptionsResolver; | ||
10 | + | ||
11 | +class PidaTareaEspecificoType extends AbstractType | ||
12 | +{ | ||
13 | + /** | ||
14 | + * @param FormBuilderInterface $builder | ||
15 | + * @param array $options | ||
16 | + */ | ||
17 | + public function buildForm(FormBuilderInterface $builder, array $options) | ||
18 | + { | ||
19 | + $builder | ||
20 | + ->add('pidaTareaEspecifico', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array( | ||
21 | + 'label' => 'Tarea: ' | ||
22 | + )) | ||
23 | + ->add('idPidaPlazo', EntityType::class, array( | ||
24 | + 'class' => 'AppBundle:PidaPlazo', | ||
25 | + 'label' => 'Plazo de la Tarea: ', | ||
26 | + 'label_attr' => array('class' => 'radio-inline'), | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + 'choice_label' => 'nombre', | ||
31 | + | ||
32 | + // used to render a select box, check boxes or radios | ||
33 | + // 'multiple' => true, | ||
34 | + 'expanded' => true, | ||
35 | + )) | ||
36 | + | ||
37 | + | ||
38 | + ->add('idPidaEstatus', EntityType::class, array( | ||
39 | + 'class' => 'AppBundle:PidaEstatus', | ||
40 | + 'label' => 'Estado Actual de la tarea:', | ||
41 | + 'label_attr' => array('class' => 'radio-inline'), | ||
42 | + 'query_builder' => function (EntityRepository $er) { | ||
43 | + return $er->createQueryBuilder('u') | ||
44 | + ->orderBy('u.id', 'ASC'); | ||
45 | + }, | ||
46 | + | ||
47 | + // use the User.username property as the visible option string | ||
48 | + 'choice_label' => 'nombre', | ||
49 | + | ||
50 | + // used to render a select box, check boxes or radios | ||
51 | + // 'multiple' => true, | ||
52 | + 'expanded' => true, | ||
53 | + )) | ||
54 | + ; | ||
55 | + } | ||
56 | + | ||
57 | + /** | ||
58 | + * @param OptionsResolver $resolver | ||
59 | + */ | ||
60 | + public function configureOptions(OptionsResolver $resolver) | ||
61 | + { | ||
62 | + $resolver->setDefaults(array( | ||
63 | + 'data_class' => 'AppBundle\Entity\PidaTareaEspecifico' | ||
64 | + )); | ||
65 | + } | ||
66 | +} |
src/AppBundle/Form/PidaType.php
@@ -11,12 +11,12 @@ namespace AppBundle\Form; | @@ -11,12 +11,12 @@ namespace AppBundle\Form; | ||
11 | 11 | ||
12 | use Doctrine\ORM\EntityRepository; | 12 | use Doctrine\ORM\EntityRepository; |
13 | use Symfony\Component\Form\AbstractType; | 13 | use Symfony\Component\Form\AbstractType; |
14 | +use Symfony\Component\Form\Extension\Core\Type\CollectionType; | ||
14 | use Symfony\Component\Form\FormBuilderInterface; | 15 | use Symfony\Component\Form\FormBuilderInterface; |
15 | use Symfony\Component\OptionsResolver\OptionsResolver; | 16 | use Symfony\Component\OptionsResolver\OptionsResolver; |
16 | 17 | ||
17 | 18 | ||
18 | use Symfony\Bridge\Doctrine\Form\Type\EntityType; | 19 | use Symfony\Bridge\Doctrine\Form\Type\EntityType; |
19 | -use Symfony\Component\Form\Extension\Core\Type\TextType; | ||
20 | 20 | ||
21 | class PidaType extends AbstractType | 21 | class PidaType extends AbstractType |
22 | { | 22 | { |
@@ -48,42 +48,14 @@ class PidaType extends AbstractType | @@ -48,42 +48,14 @@ class PidaType extends AbstractType | ||
48 | 'choice_label' => 'getNombre' | 48 | 'choice_label' => 'getNombre' |
49 | 49 | ||
50 | )) | 50 | )) |
51 | - | ||
52 | - ->add('objetivo_especifico', TextType::class, array( | ||
53 | - 'label' => 'Tarea' | ||
54 | - )) | ||
55 | - | ||
56 | - ->add('idPidaPlazo', EntityType::class, array( | ||
57 | - 'class' => 'AppBundle:PidaPlazo', | ||
58 | - 'label' => 'Plazos de la Actividad: ', | ||
59 | - 'label_attr' => array('class' => 'radio-inline'), | ||
60 | - | ||
61 | - | ||
62 | 51 | ||
63 | - 'choice_label' => 'nombre', | ||
64 | - | ||
65 | - // used to render a select box, check boxes or radios | ||
66 | - // 'multiple' => true, | ||
67 | - 'expanded' => true, | 52 | + ->add('pidaTareaEspecifico', CollectionType::class, array( |
53 | + 'entry_type' => PidaTareaEspecificoType::class, | ||
54 | + 'allow_add' => true, | ||
55 | + 'label' => false | ||
68 | )) | 56 | )) |
57 | + | ||
69 | 58 | ||
70 | - | ||
71 | - ->add('idPidaEstatus', EntityType::class, array( | ||
72 | - 'class' => 'AppBundle:PidaEstatus', | ||
73 | - 'label' => false, | ||
74 | - 'label_attr' => array('class' => 'radio-inline'), | ||
75 | - 'query_builder' => function (EntityRepository $er) { | ||
76 | - return $er->createQueryBuilder('u') | ||
77 | - ->orderBy('u.id', 'ASC'); | ||
78 | - }, | ||
79 | - | ||
80 | - // use the User.username property as the visible option string | ||
81 | - 'choice_label' => 'nombre', | ||
82 | - | ||
83 | - // used to render a select box, check boxes or radios | ||
84 | - // 'multiple' => true, | ||
85 | - 'expanded' => true, | ||
86 | - )) | ||
87 | 59 | ||
88 | 60 | ||
89 | 61 |