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 | 9 | {{ form_row(form.idtemaUc) }} |
| 10 | 10 | |
| 11 | 11 | <ul class="contenido" data-prototype="{{ form_widget(form.contenido.vars.prototype)|e('html_attr') }}"> |
| 12 | - | |
| 12 | + | |
| 13 | 13 | </ul> |
| 14 | - | |
| 14 | + | |
| 15 | 15 | <ul class="objetivoEspecifico" data-prototype="{{ form_widget(form.objetivoEspecifico.vars.prototype)|e('html_attr') }}"> |
| 16 | - | |
| 16 | + | |
| 17 | 17 | </ul> |
| 18 | - | |
| 18 | + | |
| 19 | 19 | <ul class="estrategia" data-prototype="{{ form_widget(form.estrategia.vars.prototype)|e('html_attr') }}"> |
| 20 | - | |
| 20 | + | |
| 21 | 21 | </ul> |
| 22 | - | |
| 22 | + | |
| 23 | 23 | <ul class="evaluacion" data-prototype="{{ form_widget(form.evaluacion.vars.prototype)|e('html_attr') }}"> |
| 24 | - | |
| 24 | + | |
| 25 | 25 | </ul> |
| 26 | 26 | |
| 27 | 27 | <input type="submit" value="Create" /> |
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | var $addEstrategiaLink = $('<a href="#" class="add_estrategia_link">Añadir estrategias</a>'); |
| 47 | 47 | var $addEvaluacionLink = $('<a href="#" class="add_evaluacion_link">Añadir Evaluaciones</a>'); |
| 48 | 48 | var $RemoveContenidoLink = $('<a href="#" class="remove_contenido_link">Quitar Conceptos</a>'); |
| 49 | - | |
| 49 | + | |
| 50 | 50 | var $newLinkLiContenido = $('<li></li>').append($addContenidoLink); |
| 51 | 51 | var $newLinkLiEspecifico = $('<li></li>').append($addEspecificoLink); |
| 52 | 52 | var $newLinkLiEstrategia = $('<li></li>').append($addEstrategiaLink); | ... | ... |
app/Resources/views/solicitudes/pida.html.twig
| ... | ... | @@ -13,6 +13,12 @@ |
| 13 | 13 | .container{ |
| 14 | 14 | margin-bottom: 0; |
| 15 | 15 | } |
| 16 | + | |
| 17 | + .account-container{ | |
| 18 | + width:100%; | |
| 19 | + margin-left: 50px; | |
| 20 | + } | |
| 21 | + | |
| 16 | 22 | </style> |
| 17 | 23 | {% endblock %} |
| 18 | 24 | |
| ... | ... | @@ -29,23 +35,60 @@ |
| 29 | 35 | |
| 30 | 36 | </h4> |
| 31 | 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 | 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 | 93 | {% endblock %} |
| 51 | 94 | |
| ... | ... | @@ -58,5 +101,57 @@ |
| 58 | 101 | <script type="text/javascript"> |
| 59 | 102 | |
| 60 | 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 | 156 | </script> |
| 62 | 157 | {% endblock %} | ... | ... |
src/AppBundle/Controller/AdscripcionController.php
| ... | ... | @@ -9,6 +9,7 @@ |
| 9 | 9 | namespace AppBundle\Controller; |
| 10 | 10 | |
| 11 | 11 | use AppBundle\Entity\DocumentosVerificados; |
| 12 | +use AppBundle\Entity\PidaTareaEspecifico; | |
| 12 | 13 | use Symfony\Component\Form\FormError; |
| 13 | 14 | use Symfony\Component\HttpFoundation\File\UploadedFile; |
| 14 | 15 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
| ... | ... | @@ -448,9 +449,19 @@ class AdscripcionController extends Controller |
| 448 | 449 | if(!$adscripcion) return $this->redirect($this->generateUrl('solicitud_adscripcion')); |
| 449 | 450 | |
| 450 | 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 | 466 | $pida = new AdscripcionPida(); |
| 456 | 467 | $form = $this->createForm('AppBundle\Form\PidaType', $pida); |
| ... | ... | @@ -458,33 +469,42 @@ class AdscripcionController extends Controller |
| 458 | 469 | |
| 459 | 470 | |
| 460 | 471 | if ($form->isSubmitted() && $form->isValid()) { |
| 461 | - | |
| 472 | + $em = $this->getDoctrine()->getManager(); | |
| 462 | 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 | 485 | $pida->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); |
| 472 | 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 | 494 | $em->persist($pida); |
| 476 | - $em->persist($servicios); | |
| 495 | + | |
| 477 | 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 | 3 | |
| 4 | 4 | namespace AppBundle\Entity; |
| 5 | 5 | |
| 6 | +use Doctrine\Common\Collections\ArrayCollection; | |
| 6 | 7 | use Doctrine\ORM\Mapping as ORM; |
| 7 | 8 | |
| 8 | 9 | |
| 9 | 10 | /** |
| 10 | 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 | 14 | * @ORM\Entity |
| 14 | 15 | * @ORM\HasLifecycleCallbacks() |
| 15 | 16 | */ |
| ... | ... | @@ -25,14 +26,13 @@ class AdscripcionPida |
| 25 | 26 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) |
| 26 | 27 | */ |
| 27 | 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 | 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 | 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 | 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 | 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 | 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 | 25 | * @ORM\SequenceGenerator(sequenceName="adscripcion_id_seq", allocationSize=1, initialValue=1) |
| 26 | 26 | */ |
| 27 | 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 | 102 | * |
| 104 | 103 | * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PidaEstatus") |
| 105 | 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 | 108 | protected $idPidaEstatus; |
| ... | ... | @@ -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 | 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 | 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 | 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 | 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 @@ |
| 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 @@ |
| 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 | 11 | |
| 12 | 12 | use Doctrine\ORM\EntityRepository; |
| 13 | 13 | use Symfony\Component\Form\AbstractType; |
| 14 | +use Symfony\Component\Form\Extension\Core\Type\CollectionType; | |
| 14 | 15 | use Symfony\Component\Form\FormBuilderInterface; |
| 15 | 16 | use Symfony\Component\OptionsResolver\OptionsResolver; |
| 16 | 17 | |
| 17 | 18 | |
| 18 | 19 | use Symfony\Bridge\Doctrine\Form\Type\EntityType; |
| 19 | -use Symfony\Component\Form\Extension\Core\Type\TextType; | |
| 20 | 20 | |
| 21 | 21 | class PidaType extends AbstractType |
| 22 | 22 | { |
| ... | ... | @@ -48,42 +48,14 @@ class PidaType extends AbstractType |
| 48 | 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 | ... | ... |