From 1e55fda26630eec448c860e5a9f2eeae0331dd87 Mon Sep 17 00:00:00 2001 From: Wilmer Ramones Date: Thu, 28 Jul 2016 10:52:54 -0400 Subject: [PATCH] creadas las estrategias y los recursos de la planificacion --- .../views/planificacionseccion/new.html.twig | 54 +++++++++- .../Controller/PlanificacionSeccionController.php | 4 + src/AppBundle/Entity/PlanificacionSeccion.php | 2 +- .../Entity/PlanificacionSeccionEstrategia.php | 119 ++++++++------------- .../Entity/PlanificacionSeccionEstrategia.php~ | 50 ++++----- src/AppBundle/Entity/RecursosPlanificacion.php | 74 +++++++++++++ src/AppBundle/Entity/RecursosPlanificacion.php~ | 43 ++++++++ src/AppBundle/Entity/TecnicasPlanificacion.php | 74 +++++++++++++ src/AppBundle/Entity/TecnicasPlanificacion.php~ | 34 ++++++ .../Form/PlanificacionSeccionEstrategiaType.php | 33 ++++++ src/AppBundle/Form/PlanificacionSeccionType.php | 6 ++ 11 files changed, 387 insertions(+), 106 deletions(-) create mode 100644 src/AppBundle/Entity/RecursosPlanificacion.php create mode 100644 src/AppBundle/Entity/RecursosPlanificacion.php~ create mode 100644 src/AppBundle/Entity/TecnicasPlanificacion.php create mode 100644 src/AppBundle/Entity/TecnicasPlanificacion.php~ create mode 100644 src/AppBundle/Form/PlanificacionSeccionEstrategiaType.php diff --git a/app/Resources/views/planificacionseccion/new.html.twig b/app/Resources/views/planificacionseccion/new.html.twig index c772437..971c424 100644 --- a/app/Resources/views/planificacionseccion/new.html.twig +++ b/app/Resources/views/planificacionseccion/new.html.twig @@ -16,6 +16,10 @@ + + {{ form_end(form) }} @@ -35,25 +39,29 @@ // setup an "add a tag" link var $addEspecificoLink = $('Añadir Objetivos Especificos'); var $addContenidoLink = $('Añadir conceptos'); + var $addEstrategiaLink = $('Añadir estrategias'); var $RemoveContenidoLink = $('Quitar Conceptos'); var $newLinkLiContenido = $('
  • ').append($addContenidoLink); var $newLinkLiEspecifico = $('
  • ').append($addEspecificoLink); - //$newLinkLi. = $('
  • ').append($RemoveContenidoLink); + var $newLinkLiEstrategia = $('
  • ').append($addEstrategiaLink); jQuery(document).ready(function() { // Get the ul that holds the collection of tags $contenidoHolder = $('ul.contenido'); $especificoHolder = $('ul.objetivoEspecifico'); + $estrategiaHolder = $('ul.estrategia'); // add the "add a tag" anchor and li to the tags ul $contenidoHolder.append($newLinkLiContenido); $especificoHolder.append($newLinkLiEspecifico); + $estrategiaHolder.append($newLinkLiEstrategia); // count the current form inputs we have (e.g. 2), use that as the new // index when inserting a new item (e.g. 2) $contenidoHolder.data('index', $contenidoHolder.find(':input').length); $especificoHolder.data('index', $especificoHolder.find(':input').length); + $estrategiaHolder.data('index', $estrategiaHolder.find(':input').length); $addContenidoLink.on('click', function(e) { // prevent the link from creating a "#" on the URL @@ -71,6 +79,15 @@ addEspecificoForm($especificoHolder, $newLinkLiEspecifico); }); + + $addEstrategiaLink.on('click', function(e) { + // prevent the link from creating a "#" on the URL + e.preventDefault(); + + // add a new tag form (see next code block) + addEstrategiaForm($estrategiaHolder, $newLinkLiEstrategia); + }); + function addContenidoForm($contenidoHolder, $newLinkLiContenido) { @@ -108,6 +125,7 @@ } + function addEspecificoForm($especificoHolder, $newLinkLiEspecifico) { // Get the data-prototype explained earlier var prototype = $especificoHolder.data('prototype'); @@ -142,6 +160,40 @@ } + function addEstrategiaForm($estrategiaHolder, $newLinkLiEstrategia) { + // Get the data-prototype explained earlier + var prototype = $estrategiaHolder.data('prototype'); + + // get the new index + var index = $estrategiaHolder.data('index'); + + // Replace '$$name$$' in the prototype's HTML to + // instead be a number based on how many items we have + var newFormEstrategia = prototype.replace(/__name__/g, index); + + // increase the index with one for the next item + $estrategiaHolder.data('index', index + 1); + + // Display the form in the page in an li, before the "Add a tag" link li + var $newFormLiEstrategia = $('
  • ').append(newFormEstrategia); + + // also add a remove button, just for this example + $newFormLiEstrategia.append('x'); + + $newLinkLiEstrategia.before($newFormLiEstrategia); + + // handle the removal, just for this example + $('.remove-tag').click(function(e) { + e.preventDefault(); + + $(this).parent().remove(); + + return false; + }); + + + } + }); diff --git a/src/AppBundle/Controller/PlanificacionSeccionController.php b/src/AppBundle/Controller/PlanificacionSeccionController.php index 946b953..8e8b545 100644 --- a/src/AppBundle/Controller/PlanificacionSeccionController.php +++ b/src/AppBundle/Controller/PlanificacionSeccionController.php @@ -68,6 +68,10 @@ class PlanificacionSeccionController extends Controller $especifico->setPlanificacionSeccionId($planificacionSeccion); } + foreach($planificacionSeccion->getEstrategia() as $estrategias){ + $estrategias->setPlanificacionSeccionId($planificacionSeccion); + } + //var_dump($seccion->getPlanificacion()->count()); exit; $em = $this->getDoctrine()->getManager(); $em->persist($planificacionSeccion); diff --git a/src/AppBundle/Entity/PlanificacionSeccion.php b/src/AppBundle/Entity/PlanificacionSeccion.php index 8f9be82..e33fce0 100644 --- a/src/AppBundle/Entity/PlanificacionSeccion.php +++ b/src/AppBundle/Entity/PlanificacionSeccion.php @@ -49,7 +49,7 @@ class PlanificacionSeccion /** - * @ORM\OneToMany(targetEntity="PlanificacionSeccionEstrategia", mappedBy="idPlanificacionEstrategia") + * @ORM\OneToMany(targetEntity="PlanificacionSeccionEstrategia", mappedBy="planificacionSeccionId", cascade={"all"}) */ private $estrategia; diff --git a/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php b/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php index a8df262..f5e93bc 100644 --- a/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php +++ b/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php @@ -7,31 +7,13 @@ use Doctrine\ORM\Mapping as ORM; /** * PlanificacionSeccionEstrategia * - * @ORM\Table(name="planificacion_seccion_estrategia", - * uniqueConstraints= - * {@ORM\UniqueConstraint(name="uq_planificacion_estrategia", - * columns={"id_planificacion_seccion"}) - * }, - * indexes={ - * @ORM\Index(name="fki_id_planificacion_estrategia", - * columns={"id_planificacion_seccion"}) - * } - * ) + * @ORM\Table(name="planificacion_seccion_estrategia" ) * @ORM\Entity */ class PlanificacionSeccionEstrategia { - /** - * @var \AppBundle\Entity\PlanificacionSeccion - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PlanificacionSeccion") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_planificacion_seccion", referencedColumnName="id", nullable=false) - * }) - */ - private $idPlanificacionSeccion; - + /** * @var integer * @@ -42,26 +24,36 @@ class PlanificacionSeccionEstrategia */ private $id; - /** - * @var text + /** + * @var \AppBundle\Entity\TecnicasPlanificacion * - * @ORM\Column(name="tipo_estrategia", type="text", nullable=false, options={"comment" = "Tipos de estrategia a utilizar"}) + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\TecnicasPlanificacion") + * @ORM\JoinColumns({ + * @ORM\JoinColumn(name="id_tecnicas_planificacion", referencedColumnName="id", nullable=false) + * }) */ - private $tipoEstrategia; + private $idTecnicasPlanificacion; /** - * @var text + * @var \AppBundle\Entity\RecursosPlanificacion * - * @ORM\Column(name="tipoRecurso", type="text", nullable=false, options={"comment" = "Recursos necesarios para el tema"}) + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\RecursosPlanificacion") + * @ORM\JoinColumns({ + * @ORM\JoinColumn(name="id_recursos_planificacion", referencedColumnName="id", nullable=false) + * }) */ - private $tipoRecurso; + private $idRecursosPlanificacion; + + /** * @ORM\ManyToOne(targetEntity="PlanificacionSeccion", inversedBy="estrategia") - * @ORM\JoinColumn(name="id_planificacion_estrategia", referencedColumnName="id") + * @ORM\JoinColumn(name="planificacion_seccion_id", referencedColumnName="id") */ - private $idPlanificacionEstrategia; + private $planificacionSeccionId; + + @@ -78,94 +70,71 @@ class PlanificacionSeccionEstrategia } /** - * Set tipoEstrategia - * - * @param string $tipoEstrategia - * @return PlanificacionSeccionEstrategia - */ - public function setTipoEstrategia($tipoEstrategia) - { - $this->tipoEstrategia = $tipoEstrategia; - - return $this; - } - - /** - * Get tipoEstrategia + * Set idTecnicasPlanificacion * - * @return string - */ - public function getTipoEstrategia() - { - return $this->tipoEstrategia; - } - - /** - * Set tipoRecurso - * - * @param string $tipoRecurso + * @param \AppBundle\Entity\TecnicasPlanificacion $idTecnicasPlanificacion * @return PlanificacionSeccionEstrategia */ - public function setTipoRecurso($tipoRecurso) + public function setIdTecnicasPlanificacion(\AppBundle\Entity\TecnicasPlanificacion $idTecnicasPlanificacion) { - $this->tipoRecurso = $tipoRecurso; + $this->idTecnicasPlanificacion = $idTecnicasPlanificacion; return $this; } /** - * Get tipoRecurso + * Get idTecnicasPlanificacion * - * @return string + * @return \AppBundle\Entity\TecnicasPlanificacion */ - public function getTipoRecurso() + public function getIdTecnicasPlanificacion() { - return $this->tipoRecurso; + return $this->idTecnicasPlanificacion; } /** - * Set idPlanificacionSeccion + * Set idRecursosPlanificacion * - * @param \AppBundle\Entity\PlanificacionSeccion $idPlanificacionSeccion + * @param \AppBundle\Entity\RecursosPlanificacion $idRecursosPlanificacion * @return PlanificacionSeccionEstrategia */ - public function setIdPlanificacionSeccion(\AppBundle\Entity\PlanificacionSeccion $idPlanificacionSeccion) + public function setIdRecursosPlanificacion(\AppBundle\Entity\RecursosPlanificacion $idRecursosPlanificacion) { - $this->idPlanificacionSeccion = $idPlanificacionSeccion; + $this->idRecursosPlanificacion = $idRecursosPlanificacion; return $this; } /** - * Get idPlanificacionSeccion + * Get idRecursosPlanificacion * - * @return \AppBundle\Entity\PlanificacionSeccion + * @return \AppBundle\Entity\RecursosPlanificacion */ - public function getIdPlanificacionSeccion() + public function getIdRecursosPlanificacion() { - return $this->idPlanificacionSeccion; + return $this->idRecursosPlanificacion; } /** - * Set idPlanificacionEstrategia + * Set planificacionSeccionId * - * @param \AppBundle\Entity\PlanificacionSeccion $idPlanificacionEstrategia + * @param \AppBundle\Entity\PlanificacionSeccion $planificacionSeccionId * @return PlanificacionSeccionEstrategia */ - public function setIdPlanificacionEstrategia(\AppBundle\Entity\PlanificacionSeccion $idPlanificacionEstrategia = null) + public function setPlanificacionSeccionId(\AppBundle\Entity\PlanificacionSeccion $planificacionSeccionId = null) { - $this->idPlanificacionEstrategia = $idPlanificacionEstrategia; + $this->planificacionSeccionId = $planificacionSeccionId; return $this; } /** - * Get idPlanificacionEstrategia + * Get planificacionSeccionId * * @return \AppBundle\Entity\PlanificacionSeccion */ - public function getIdPlanificacionEstrategia() + public function getPlanificacionSeccionId() { - return $this->idPlanificacionEstrategia; + return $this->planificacionSeccionId; } } diff --git a/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php~ b/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php~ index 0953221..021883a 100644 --- a/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php~ +++ b/src/AppBundle/Entity/PlanificacionSeccionEstrategia.php~ @@ -7,31 +7,13 @@ use Doctrine\ORM\Mapping as ORM; /** * PlanificacionSeccionEstrategia * - * @ORM\Table(name="planificacion_seccion_estrategia", - * uniqueConstraints= - * {@ORM\UniqueConstraint(name="uq_planificacion_estrategia", - * columns={"id_planificacion_seccion"}) - * }, - * indexes={ - * @ORM\Index(name="fki_id_planificacion_estrategia", - * columns={"id_planificacion_seccion"}) - * } - * ) + * @ORM\Table(name="planificacion_seccion_estrategia" ) * @ORM\Entity */ class PlanificacionSeccionEstrategia { - /** - * @var \AppBundle\Entity\PlanificacionSeccion - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PlanificacionSeccion") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_planificacion_seccion", referencedColumnName="id", nullable=false) - * }) - */ - private $idPlanificacionSeccion; - + /** * @var integer * @@ -42,26 +24,36 @@ class PlanificacionSeccionEstrategia */ private $id; - /** - * @var text + /** + * @var \AppBundle\Entity\TecnicasPlanificacion * - * @ORM\Column(name="tipo_estrategia", type="text", nullable=false, options={"comment" = "Tipos de estrategia a utilizar"}) + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\TecnicasPlanificacion") + * @ORM\JoinColumns({ + * @ORM\JoinColumn(name="id_tecnicas_planificacion", referencedColumnName="id", nullable=false) + * }) */ - private $tipoEstrategia; + private $idTecnicasPlanificacion; /** - * @var text + * @var \AppBundle\Entity\RecursosPlanificacion * - * @ORM\Column(name="tipoRecurso", type="text", nullable=false, options={"comment" = "Recursos necesarios para el tema"}) + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\RecursosPlanificacion") + * @ORM\JoinColumns({ + * @ORM\JoinColumn(name="id_recursos_planificacion", referencedColumnName="id", nullable=false) + * }) */ - private $tipoRecurso; + private $idRecursosPlanificacion; + + /** * @ORM\ManyToOne(targetEntity="PlanificacionSeccion", inversedBy="estrategia") - * @ORM\JoinColumn(name="id_planificacion_estrategia", referencedColumnName="id") + * @ORM\JoinColumn(name="planificacion_seccion_id", referencedColumnName="id") */ - private $idPlanificacionEstrategia; + private $planificacionSeccionId; + + diff --git a/src/AppBundle/Entity/RecursosPlanificacion.php b/src/AppBundle/Entity/RecursosPlanificacion.php new file mode 100644 index 0000000..b5eefb5 --- /dev/null +++ b/src/AppBundle/Entity/RecursosPlanificacion.php @@ -0,0 +1,74 @@ +getNombre(); + } + + /** + * Set nombre + * + * @param string $nombre + * @return RecursosPlanificacion + */ + public function setNombre($nombre) + { + $this->nombre = $nombre; + + return $this; + } + + /** + * Get nombre + * + * @return string + */ + public function getNombre() + { + return $this->nombre; + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } +} diff --git a/src/AppBundle/Entity/RecursosPlanificacion.php~ b/src/AppBundle/Entity/RecursosPlanificacion.php~ new file mode 100644 index 0000000..d32d1f5 --- /dev/null +++ b/src/AppBundle/Entity/RecursosPlanificacion.php~ @@ -0,0 +1,43 @@ +getNombre(); + } +} diff --git a/src/AppBundle/Entity/TecnicasPlanificacion.php b/src/AppBundle/Entity/TecnicasPlanificacion.php new file mode 100644 index 0000000..2c35679 --- /dev/null +++ b/src/AppBundle/Entity/TecnicasPlanificacion.php @@ -0,0 +1,74 @@ +nombre = $nombre; + + return $this; + } + + /** + * Get nombre + * + * @return string + */ + public function getNombre() + { + return $this->nombre; + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * @return string + */ + public function __toString() { + return $this->getNombre(); + } +} diff --git a/src/AppBundle/Entity/TecnicasPlanificacion.php~ b/src/AppBundle/Entity/TecnicasPlanificacion.php~ new file mode 100644 index 0000000..625a5cc --- /dev/null +++ b/src/AppBundle/Entity/TecnicasPlanificacion.php~ @@ -0,0 +1,34 @@ +add('idTecnicasPlanificacion') + ->add('idRecursosPlanificacion') + + ; + } + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults(array( + 'data_class' => 'AppBundle\Entity\PlanificacionSeccionEstrategia' + )); + } +} diff --git a/src/AppBundle/Form/PlanificacionSeccionType.php b/src/AppBundle/Form/PlanificacionSeccionType.php index 50db5df..cbcc2aa 100644 --- a/src/AppBundle/Form/PlanificacionSeccionType.php +++ b/src/AppBundle/Form/PlanificacionSeccionType.php @@ -67,6 +67,12 @@ class PlanificacionSeccionType extends AbstractType 'allow_add' => true, 'label' => false )) + + ->add('estrategia', CollectionType::class, array( + 'entry_type' => PlanificacionSeccionEstrategiaType::class, + 'allow_add' => true, + 'label' => false + )) ; } -- 2.0.0