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 |