diff --git a/app/Resources/views/planificacionseccion/index.html.twig b/app/Resources/views/planificacionseccion/index.html.twig index d5283b3..6922323 100644 --- a/app/Resources/views/planificacionseccion/index.html.twig +++ b/app/Resources/views/planificacionseccion/index.html.twig @@ -1,43 +1,45 @@ -{% extends 'base.html.twig' %} +{% extends 'base_app.html.twig' %} {% block body %} -

PlanificacionSeccion list

+

Listado de Secciones Sin Planificacion

- +
- - - - - + + + + - {% for planificacionSeccion in planificacionSeccions %} + {% for seccion in secciones %} - - - - + + + - + {% endfor %}
Fecha_creacionFecha_ultima_actualizacionObservacionIdActionsUnidad CurricularSeccionCantidad PlanificadaAcciones
{{ planificacionSeccion.fechacreacion }}{% if planificacionSeccion.fechaultimaactualizacion %}{{ planificacionSeccion.fechaultimaactualizacion|date('Y-m-d H:i:s') }}{% endif %}{{ planificacionSeccion.observacion }}{{ planificacionSeccion.id }}{{ seccion.ofertaAcademica }}{{ seccion.nombre }} + {{ seccion.planificacion | length}} temas de {{ seccion.ofertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.temas | length }} a planificar + {% set porcentaje = 0 %} + {% if seccion.ofertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.temas | length > 0 %}{% set porcentaje = ( seccion.planificacion | length * 100 ) / seccion.ofertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.temas | length %}{% endif %} +
+
+ {{ porcentaje }} +
+
+
- - + {% endblock %} diff --git a/app/Resources/views/planificacionseccion/new.html.twig b/app/Resources/views/planificacionseccion/new.html.twig index b0ed1fb..85ca9b0 100644 --- a/app/Resources/views/planificacionseccion/new.html.twig +++ b/app/Resources/views/planificacionseccion/new.html.twig @@ -1,10 +1,17 @@ -{% extends 'base.html.twig' %} +{% extends 'base_app.html.twig' %} {% block body %} + {% form_theme form 'bootstrap_3_horizontal_layout.html.twig' %}

PlanificacionSeccion creation

- + {{ form_start(form) }} - {{ form_widget(form) }} + {{ form_row(form.seccion) }} + {{ form_row(form.idtemaUc) }} + + + {{ form_end(form) }} @@ -14,3 +21,87 @@ {% endblock %} + +{% block javascripts %} + {{ parent() }} + +{% endblock %} diff --git a/src/AppBundle/Controller/PlanificacionSeccionController.php b/src/AppBundle/Controller/PlanificacionSeccionController.php index 6b2c9d3..270d0d6 100644 --- a/src/AppBundle/Controller/PlanificacionSeccionController.php +++ b/src/AppBundle/Controller/PlanificacionSeccionController.php @@ -8,7 +8,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use AppBundle\Entity\PlanificacionSeccion; use AppBundle\Form\PlanificacionSeccionType; - +use AppBundle\Entity\Seccion; /** * PlanificacionSeccion controller. * @@ -25,29 +25,42 @@ class PlanificacionSeccionController extends Controller public function indexAction() { $em = $this->getDoctrine()->getManager(); - + $secciones = $em->getRepository('AppBundle:Seccion')->findBy(array( + 'idRolInstitucion' => $this->getUser()->getIdRolInstitucion() + )); $planificacionSeccions = $em->getRepository('AppBundle:PlanificacionSeccion')->findAll(); return $this->render('planificacionseccion/index.html.twig', array( 'planificacionSeccions' => $planificacionSeccions, + 'secciones' => $secciones )); } /** * Creates a new PlanificacionSeccion entity. * - * @Route("/new", name="ceapp_docente_planificacion_new") + * @Route("/new/{seccion}", name="ceapp_docente_planificacion_new") * @Method({"GET", "POST"}) */ - public function newAction(Request $request) + public function newAction(Request $request, Seccion $seccion) { - $planificacionSeccion = new PlanificacionSeccion(); - $form = $this->createForm('AppBundle\Form\PlanificacionSeccionType', $planificacionSeccion); + $planificacionSeccion = new PlanificacionSeccion(); + $form = $this->createForm('AppBundle\Form\PlanificacionSeccionType', $planificacionSeccion, array('seccion' => $seccion)); $form->handleRequest($request); - if ($form->isSubmitted() && $form->isValid()) { + if ($form->isSubmitted() && $form->isValid()) { + + + + // ciclo a traves de las relaciones para cada contenido + foreach($planificacionSeccion->getContenido() as $contenido){ + $contenido->setPlanificacionSeccionId($planificacionSeccion); + $seccion->addPlanificacion($planificacionSeccion); + } + //var_dump($seccion->getPlanificacion()->count()); exit; $em = $this->getDoctrine()->getManager(); $em->persist($planificacionSeccion); + //$em->persist($seccion); $em->flush(); return $this->redirectToRoute('ceapp_docente_planificacion_show', array('id' => $planificacionSeccion->getId())); @@ -83,8 +96,9 @@ class PlanificacionSeccionController extends Controller */ public function editAction(Request $request, PlanificacionSeccion $planificacionSeccion) { + $seccion = $this->getDoctrine()->getRepository('AppBundle:Seccion')->findOneById($planificacionSeccion->getSeccion()); $deleteForm = $this->createDeleteForm($planificacionSeccion); - $editForm = $this->createForm('AppBundle\Form\PlanificacionSeccionType', $planificacionSeccion); + $editForm = $this->createForm('AppBundle\Form\PlanificacionSeccionType', $planificacionSeccion, array('seccion' => $seccion)); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { diff --git a/src/AppBundle/Entity/PlanificacionSeccion.php b/src/AppBundle/Entity/PlanificacionSeccion.php index bab1368..47f9bc6 100644 --- a/src/AppBundle/Entity/PlanificacionSeccion.php +++ b/src/AppBundle/Entity/PlanificacionSeccion.php @@ -9,8 +9,8 @@ use Doctrine\ORM\Mapping as ORM; * * @ORM\Table(name="planificacion_seccion", * uniqueConstraints= - * {@ORM\UniqueConstraint(name="uq_tema_uc", - * columns={"id_tema_uc"}) + * {@ORM\UniqueConstraint(name="uq_tema_uc_seccion", + * columns={"id_tema_uc", "seccion_id"}) * }, * indexes={ * @ORM\Index(name="fki_id_tema_uc", @@ -18,6 +18,7 @@ use Doctrine\ORM\Mapping as ORM; * } * ) * @ORM\Entity + * @ORM\HasLifecycleCallbacks() */ class PlanificacionSeccion { @@ -25,7 +26,7 @@ class PlanificacionSeccion /** * @var \AppBundle\Entity\UnidadCurricularVolumenTema * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\UnidadCurricularVolumenTema") + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\UnidadCurricularVolumenTema", inversedBy="hasPlanificacion") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="id_tema_uc", referencedColumnName="id", nullable=false) * }) @@ -40,7 +41,8 @@ class PlanificacionSeccion /** - * @ORM\OneToMany(targetEntity="PlanificacionSeccionContenido", mappedBy="idPlanificacionContenido") + * @ORM\OneToMany(targetEntity="PlanificacionSeccionContenido", mappedBy="planificacionSeccionId", cascade={"all"}) + * @var \Doctrine\Common\Collections\ArrayCollection */ private $contenido; @@ -58,18 +60,18 @@ class PlanificacionSeccion - /** @ORM\Column(type="datetime", nullable=false, options={"comment" = "Fecha de creación de la solicitud"}) + /** @ORM\Column(name="fecha_creacion", type="datetime", nullable=false, options={"comment" = "Fecha de creación de la solicitud"}) */ - private $fecha_creacion; + private $fechaCreacion; - /** @ORM\Column(type="datetime", nullable=false, options={"comment" = "Fecha de actualizacion de la solicitud"}) + /** @ORM\Column(name="fecha_ultima_actualizacion", type="datetime", nullable=false, options={"comment" = "Fecha de actualizacion de la solicitud"}) */ - private $fecha_ultima_actualizacion; + private $fechaUltimaActualizacion; /** @var text @@ -109,51 +111,7 @@ class PlanificacionSeccion $this->evaluacion = new \Doctrine\Common\Collections\ArrayCollection(); } - /** - * Set fecha_creacion - * - * @param \DateTime $fechaCreacion - * @return PlanificacionSeccion - */ - public function setFechaCreacion($fechaCreacion) - { - $this->fecha_creacion = $fechaCreacion; - - return $this; - } - - /** - * Get fecha_creacion - * - * @return \DateTime - */ - public function getFechaCreacion() - { - return $this->fecha_creacion; - } - - /** - * Set fecha_ultima_actualizacion - * - * @param \DateTime $fechaUltimaActualizacion - * @return PlanificacionSeccion - */ - public function setFechaUltimaActualizacion($fechaUltimaActualizacion) - { - $this->fecha_ultima_actualizacion = $fechaUltimaActualizacion; - - return $this; - } - - /** - * Get fecha_ultima_actualizacion - * - * @return \DateTime - */ - public function getFechaUltimaActualizacion() - { - return $this->fecha_ultima_actualizacion; - } + /** * Set observacion @@ -252,7 +210,9 @@ class PlanificacionSeccion */ public function addContenido(\AppBundle\Entity\PlanificacionSeccionContenido $contenido) { + $contenido->setPlanificacionSeccionId($this); $this->contenido[] = $contenido; + return $this; } @@ -365,4 +325,69 @@ class PlanificacionSeccion { return $this->seccion; } + + /** + * @ORM\PrePersist() + */ + public function prePersist() + { + $this->fechaCreacion = new \DateTime(); + $this->fechaUltimaActualizacion = new \DateTime(); + } + + + /** + * @ORM\PreUpdate() + */ + public function preUpdate() + { + $this->fechaUltimaActualizacion = new \DateTime(); + } + + /** + * Get fechaCreacion + * + * @return \DateTime + */ + public function getFechaCreacion() + { + return $this->fechaCreacion; + } + + + /** + * Set fechaCreacion + * + * @param \DateTime $fechaCreacion + * @return PlanificacionSeccion + */ + public function setFechaCreacion($fechaCreacion) + { + $this->fechaCreacion = $fechaCreacion; + + return $this; + } + + /** + * Set fechaUltimaActualizacion + * + * @param \DateTime $fechaUltimaActualizacion + * @return PlanificacionSeccion + */ + public function setFechaUltimaActualizacion($fechaUltimaActualizacion) + { + $this->fechaUltimaActualizacion = $fechaUltimaActualizacion; + + return $this; + } + + /** + * Get fechaUltimaActualizacion + * + * @return \DateTime + */ + public function getFechaUltimaActualizacion() + { + return $this->fechaUltimaActualizacion; + } } diff --git a/src/AppBundle/Entity/PlanificacionSeccion.php~ b/src/AppBundle/Entity/PlanificacionSeccion.php~ index bce5a84..0286d06 100644 --- a/src/AppBundle/Entity/PlanificacionSeccion.php~ +++ b/src/AppBundle/Entity/PlanificacionSeccion.php~ @@ -18,6 +18,7 @@ use Doctrine\ORM\Mapping as ORM; * } * ) * @ORM\Entity + * @ORM\HasLifecycleCallbacks() */ class PlanificacionSeccion { @@ -40,7 +41,8 @@ class PlanificacionSeccion /** - * @ORM\OneToMany(targetEntity="PlanificacionSeccionContenido", mappedBy="idPlanificacionContenido") + * @ORM\OneToMany(targetEntity="PlanificacionSeccionContenido", mappedBy="PlanificacionSeccion",cascade={"persist", "remove"}) + * @var \Doctrine\Common\Collections\ArrayCollection */ private $contenido; @@ -58,18 +60,18 @@ class PlanificacionSeccion - /** @ORM\Column(type="datetime", nullable=false, options={"comment" = "Fecha de creación de la solicitud"}) + /** @ORM\Column(name="fecha_creacion", type="datetime", nullable=false, options={"comment" = "Fecha de creación de la solicitud"}) */ - private $fecha_creacion; + private $fechaCreacion; - /** @ORM\Column(type="datetime", nullable=false, options={"comment" = "Fecha de actualizacion de la solicitud"}) + /** @ORM\Column(name="fecha_ultima_actualizacion", type="datetime", nullable=false, options={"comment" = "Fecha de actualizacion de la solicitud"}) */ - private $fecha_ultima_actualizacion; + private $fechaUltimaActualizacion; /** @var text @@ -98,4 +100,292 @@ class PlanificacionSeccion + /** + * Constructor + */ + public function __construct() + { + $this->objetivoEspecifico = new \Doctrine\Common\Collections\ArrayCollection(); + $this->contenido = new \Doctrine\Common\Collections\ArrayCollection(); + $this->estrategia = new \Doctrine\Common\Collections\ArrayCollection(); + $this->evaluacion = new \Doctrine\Common\Collections\ArrayCollection(); + } + + + + /** + * Set observacion + * + * @param string $observacion + * @return PlanificacionSeccion + */ + public function setObservacion($observacion) + { + $this->observacion = $observacion; + + return $this; + } + + /** + * Get observacion + * + * @return string + */ + public function getObservacion() + { + return $this->observacion; + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set idtemaUc + * + * @param \AppBundle\Entity\UnidadCurricularVolumenTema $idtemaUc + * @return PlanificacionSeccion + */ + public function setIdtemaUc(\AppBundle\Entity\UnidadCurricularVolumenTema $idtemaUc) + { + $this->idtemaUc = $idtemaUc; + + return $this; + } + + /** + * Get idtemaUc + * + * @return \AppBundle\Entity\UnidadCurricularVolumenTema + */ + public function getIdtemaUc() + { + return $this->idtemaUc; + } + + /** + * Add objetivoEspecifico + * + * @param \AppBundle\Entity\PlanificacionSeccionEspecifico $objetivoEspecifico + * @return PlanificacionSeccion + */ + public function addObjetivoEspecifico(\AppBundle\Entity\PlanificacionSeccionEspecifico $objetivoEspecifico) + { + $this->objetivoEspecifico[] = $objetivoEspecifico; + + return $this; + } + + /** + * Remove objetivoEspecifico + * + * @param \AppBundle\Entity\PlanificacionSeccionEspecifico $objetivoEspecifico + */ + public function removeObjetivoEspecifico(\AppBundle\Entity\PlanificacionSeccionEspecifico $objetivoEspecifico) + { + $this->objetivoEspecifico->removeElement($objetivoEspecifico); + } + + /** + * Get objetivoEspecifico + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getObjetivoEspecifico() + { + return $this->objetivoEspecifico; + } + + /** + * Add contenido + * + * @param \AppBundle\Entity\PlanificacionSeccionContenido $contenido + * @return PlanificacionSeccion + */ + public function addContenido(\AppBundle\Entity\PlanificacionSeccionContenido $contenido) + { + $this->contenido[] = $contenido; + + return $this; + } + + /** + * Remove contenido + * + * @param \AppBundle\Entity\PlanificacionSeccionContenido $contenido + */ + public function removeContenido(\AppBundle\Entity\PlanificacionSeccionContenido $contenido) + { + $this->contenido->removeElement($contenido); + } + + /** + * Get contenido + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getContenido() + { + return $this->contenido; + } + + /** + * Add estrategia + * + * @param \AppBundle\Entity\PlanificacionSeccionEstrategia $estrategia + * @return PlanificacionSeccion + */ + public function addEstrategium(\AppBundle\Entity\PlanificacionSeccionEstrategia $estrategia) + { + $this->estrategia[] = $estrategia; + + return $this; + } + + /** + * Remove estrategia + * + * @param \AppBundle\Entity\PlanificacionSeccionEstrategia $estrategia + */ + public function removeEstrategium(\AppBundle\Entity\PlanificacionSeccionEstrategia $estrategia) + { + $this->estrategia->removeElement($estrategia); + } + + /** + * Get estrategia + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getEstrategia() + { + return $this->estrategia; + } + + /** + * Add evaluacion + * + * @param \AppBundle\Entity\PlanificacionSeccionEvaluacion $evaluacion + * @return PlanificacionSeccion + */ + public function addEvaluacion(\AppBundle\Entity\PlanificacionSeccionEvaluacion $evaluacion) + { + $this->evaluacion[] = $evaluacion; + + return $this; + } + + /** + * Remove evaluacion + * + * @param \AppBundle\Entity\PlanificacionSeccionEvaluacion $evaluacion + */ + public function removeEvaluacion(\AppBundle\Entity\PlanificacionSeccionEvaluacion $evaluacion) + { + $this->evaluacion->removeElement($evaluacion); + } + + /** + * Get evaluacion + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getEvaluacion() + { + return $this->evaluacion; + } + + /** + * Set seccion + * + * @param \AppBundle\Entity\Seccion $seccion + * @return PlanificacionSeccion + */ + public function setSeccion(\AppBundle\Entity\Seccion $seccion = null) + { + $this->seccion = $seccion; + + return $this; + } + + /** + * Get seccion + * + * @return \AppBundle\Entity\Seccion + */ + public function getSeccion() + { + return $this->seccion; + } + + /** + * @ORM\PrePersist() + */ + public function prePersist() + { + $this->fechaCreacion = new \DateTime(); + $this->fechaUltimaActualizacion = new \DateTime(); + } + + + /** + * @ORM\PreUpdate() + */ + public function preUpdate() + { + $this->fechaUltimaActualizacion = new \DateTime(); + } + + /** + * Get fechaCreacion + * + * @return \DateTime + */ + public function getFechaCreacion() + { + return $this->fechaCreacion; + } + + + /** + * Set fechaCreacion + * + * @param \DateTime $fechaCreacion + * @return PlanificacionSeccion + */ + public function setFechaCreacion($fechaCreacion) + { + $this->fechaCreacion = $fechaCreacion; + + return $this; + } + + /** + * Set fechaUltimaActualizacion + * + * @param \DateTime $fechaUltimaActualizacion + * @return PlanificacionSeccion + */ + public function setFechaUltimaActualizacion($fechaUltimaActualizacion) + { + $this->fechaUltimaActualizacion = $fechaUltimaActualizacion; + + return $this; + } + + /** + * Get fechaUltimaActualizacion + * + * @return \DateTime + */ + public function getFechaUltimaActualizacion() + { + return $this->fechaUltimaActualizacion; + } } diff --git a/src/AppBundle/Entity/PlanificacionSeccionContenido.php b/src/AppBundle/Entity/PlanificacionSeccionContenido.php index 2eb8ab6..98eff4c 100644 --- a/src/AppBundle/Entity/PlanificacionSeccionContenido.php +++ b/src/AppBundle/Entity/PlanificacionSeccionContenido.php @@ -7,16 +7,7 @@ use Doctrine\ORM\Mapping as ORM; /** * PlanificacionSeccionContenido * - * @ORM\Table(name="planificacion_seccion_contenido", - * uniqueConstraints= - * {@ORM\UniqueConstraint(name="uq_planificacion_seccion_contenido", - * columns={"id_planificacion_seccion"}) - * }, - * indexes={ - * @ORM\Index(name="fki_id_planificacion_seccion", - * columns={"id_planificacion_seccion"}) - * } - * ) + * @ORM\Table(name="planificacion_seccion_contenido") * @ORM\Entity */ class PlanificacionSeccionContenido @@ -56,21 +47,12 @@ class PlanificacionSeccionContenido */ private $id; - /** - * @var \AppBundle\Entity\PlanificacionSeccion - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PlanificacionSeccion") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_planificacion_seccion", referencedColumnName="id", nullable=false) - * }) - */ - private $idPlanificacionSeccion; /** * @ORM\ManyToOne(targetEntity="PlanificacionSeccion", inversedBy="contenido") - * @ORM\JoinColumn(name="id_planificacion_contenido", referencedColumnName="id") + * @ORM\JoinColumn(name="planificacion_seccion_id", referencedColumnName="id", nullable=FALSE) */ - private $idPlanificacionContenido; + protected $planificacionSeccionId; @@ -153,49 +135,29 @@ class PlanificacionSeccionContenido return $this->id; } - /** - * Set idPlanificacionSeccion - * - * @param \AppBundle\Entity\PlanificacionSeccion $idPlanificacionSeccion - * @return PlanificacionSeccionContenido - */ - public function setIdPlanificacionSeccion(\AppBundle\Entity\PlanificacionSeccion $idPlanificacionSeccion) - { - $this->idPlanificacionSeccion = $idPlanificacionSeccion; - - return $this; - } - - /** - * Get idPlanificacionSeccion - * - * @return \AppBundle\Entity\PlanificacionSeccion - */ - public function getIdPlanificacionSeccion() - { - return $this->idPlanificacionSeccion; - } + + /** - * Set idPlanificacionContenido + * Set planificacionSeccionId * - * @param \AppBundle\Entity\PlanificacionSeccion $idPlanificacionContenido + * @param \AppBundle\Entity\PlanificacionSeccion $planificacionSeccionId * @return PlanificacionSeccionContenido */ - public function setIdPlanificacionContenido(\AppBundle\Entity\PlanificacionSeccion $idPlanificacionContenido = null) + public function setPlanificacionSeccionId(\AppBundle\Entity\PlanificacionSeccion $planificacionSeccionId) { - $this->idPlanificacionContenido = $idPlanificacionContenido; + $this->planificacionSeccionId = $planificacionSeccionId; return $this; } /** - * Get idPlanificacionContenido + * Get planificacionSeccionId * * @return \AppBundle\Entity\PlanificacionSeccion */ - public function getIdPlanificacionContenido() + public function getPlanificacionSeccionId() { - return $this->idPlanificacionContenido; + return $this->planificacionSeccionId; } } diff --git a/src/AppBundle/Entity/PlanificacionSeccionContenido.php~ b/src/AppBundle/Entity/PlanificacionSeccionContenido.php~ index 78762d4..2d7f322 100644 --- a/src/AppBundle/Entity/PlanificacionSeccionContenido.php~ +++ b/src/AppBundle/Entity/PlanificacionSeccionContenido.php~ @@ -7,16 +7,7 @@ use Doctrine\ORM\Mapping as ORM; /** * PlanificacionSeccionContenido * - * @ORM\Table(name="planificacion_seccion_contenido", - * uniqueConstraints= - * {@ORM\UniqueConstraint(name="uq_planificacion_seccion_contenido", - * columns={"id_planificacion_seccion"}) - * }, - * indexes={ - * @ORM\Index(name="fki_id_planificacion_seccion", - * columns={"id_planificacion_seccion"}) - * } - * ) + * @ORM\Table(name="planificacion_seccion_contenido") * @ORM\Entity */ class PlanificacionSeccionContenido @@ -56,21 +47,94 @@ class PlanificacionSeccionContenido */ private $id; + /** - * @var \AppBundle\Entity\PlanificacionSeccion - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\PlanificacionSeccion") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_planificacion_seccion", referencedColumnName="id", nullable=false) - * }) + * @ORM\ManyToOne(targetEntity="PlanificacionSeccion", inversedBy="contenido") + * @ORM\JoinColumn(name="planificacion_seccion_id", referencedColumnName="id", nullable=FALSE) */ - private $idPlanificacionSeccion; + protected $planificacionSeccion; + + /** - * @ORM\ManyToOne(targetEntity="PlanificacionSeccion", inversedBy="contenido") - * @ORM\JoinColumn(name="id_planificacion_contenido", referencedColumnName="id") + * Set conceptual + * + * @param string $conceptual + * @return PlanificacionSeccionContenido + */ + public function setConceptual($conceptual) + { + $this->conceptual = $conceptual; + + return $this; + } + + /** + * Get conceptual + * + * @return string + */ + public function getConceptual() + { + return $this->conceptual; + } + + /** + * Set procedimental + * + * @param string $procedimental + * @return PlanificacionSeccionContenido + */ + public function setProcedimental($procedimental) + { + $this->procedimental = $procedimental; + + return $this; + } + + /** + * Get procedimental + * + * @return string + */ + public function getProcedimental() + { + return $this->procedimental; + } + + /** + * Set actitudinal + * + * @param string $actitudinal + * @return PlanificacionSeccionContenido + */ + public function setActitudinal($actitudinal) + { + $this->actitudinal = $actitudinal; + + return $this; + } + + /** + * Get actitudinal + * + * @return string + */ + public function getActitudinal() + { + return $this->actitudinal; + } + + /** + * Get id + * + * @return integer */ - private $idPlanificacionContenido; + public function getId() + { + return $this->id; + } + } diff --git a/src/AppBundle/Entity/Seccion.php b/src/AppBundle/Entity/Seccion.php index bf2a3ff..17d48e8 100644 --- a/src/AppBundle/Entity/Seccion.php +++ b/src/AppBundle/Entity/Seccion.php @@ -88,7 +88,7 @@ class Seccion private $ofertaAcademica; /** - * @ORM\OneToMany(targetEntity="PlanificacionSeccion", mappedBy="seccion") + * @ORM\OneToMany(targetEntity="PlanificacionSeccion", mappedBy="seccion", cascade={"all"}) */ private $planificacion; diff --git a/src/AppBundle/Entity/UnidadCurricularVolumenTema.php b/src/AppBundle/Entity/UnidadCurricularVolumenTema.php index 803989e..ca81ea3 100644 --- a/src/AppBundle/Entity/UnidadCurricularVolumenTema.php +++ b/src/AppBundle/Entity/UnidadCurricularVolumenTema.php @@ -52,6 +52,13 @@ class UnidadCurricularVolumenTema */ private $id; + /** + * @ORM\OneToMany(targetEntity="PlanificacionSeccion", mappedBy="idtemaUc") + */ + private $hasPlanificacion; + + + /** @@ -169,4 +176,46 @@ class UnidadCurricularVolumenTema { return $this->orden; } + + + /** + * Constructor + */ + public function __construct() + { + $this->hasPlanificacion = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Add hasPlanificacion + * + * @param \AppBundle\Entity\PlanificacionSeccion $hasPlanificacion + * @return UnidadCurricularVolumenTema + */ + public function addHasPlanificacion(\AppBundle\Entity\PlanificacionSeccion $hasPlanificacion) + { + $this->hasPlanificacion[] = $hasPlanificacion; + + return $this; + } + + /** + * Remove hasPlanificacion + * + * @param \AppBundle\Entity\PlanificacionSeccion $hasPlanificacion + */ + public function removeHasPlanificacion(\AppBundle\Entity\PlanificacionSeccion $hasPlanificacion) + { + $this->hasPlanificacion->removeElement($hasPlanificacion); + } + + /** + * Get hasPlanificacion + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getHasPlanificacion() + { + return $this->hasPlanificacion; + } } diff --git a/src/AppBundle/Entity/UnidadCurricularVolumenTema.php~ b/src/AppBundle/Entity/UnidadCurricularVolumenTema.php~ index 75ef176..3809db1 100644 --- a/src/AppBundle/Entity/UnidadCurricularVolumenTema.php~ +++ b/src/AppBundle/Entity/UnidadCurricularVolumenTema.php~ @@ -14,9 +14,9 @@ use Doctrine\ORM\Mapping as ORM; class UnidadCurricularVolumenTema { /** - * @var string + * @var text * - * @ORM\Column(name="tema", type="string", length=50, nullable=false, options={"comment" = "nombre del estado"}) + * @ORM\Column(name="tema", type="text", nullable=false, options={"comment" = "nombre del estado"}) */ private $nombre; @@ -52,6 +52,13 @@ class UnidadCurricularVolumenTema */ private $id; + /** + * @ORM\OneToMany(targetEntity="PlanificacionSeccion", mappedBy="idtemaUc") + */ + private $hasPlanificacion; + + + /** @@ -146,4 +153,29 @@ class UnidadCurricularVolumenTema { return $this->objetivoGeneral; } + + /** + * Set orden + * + * @param integer $orden + * @return UnidadCurricularVolumenTema + */ + public function setOrden($orden) + { + $this->orden = $orden; + + return $this; + } + + /** + * Get orden + * + * @return integer + */ + public function getOrden() + { + return $this->orden; + } + + } diff --git a/src/AppBundle/Form/PlanificacionSeccionContenidoType.php b/src/AppBundle/Form/PlanificacionSeccionContenidoType.php new file mode 100644 index 0000000..44a20de --- /dev/null +++ b/src/AppBundle/Form/PlanificacionSeccionContenidoType.php @@ -0,0 +1,34 @@ +add('conceptual') + ->add('procedimental') + ->add('actitudinal') + //->add('planificacionSeccion') + ; + } + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults(array( + 'data_class' => 'AppBundle\Entity\PlanificacionSeccionContenido' + )); + } +} diff --git a/src/AppBundle/Form/PlanificacionSeccionType.php b/src/AppBundle/Form/PlanificacionSeccionType.php index 5da99e7..262096f 100644 --- a/src/AppBundle/Form/PlanificacionSeccionType.php +++ b/src/AppBundle/Form/PlanificacionSeccionType.php @@ -5,6 +5,9 @@ namespace AppBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\Form\Extension\Core\Type\CollectionType; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Doctrine\ORM\EntityRepository; class PlanificacionSeccionType extends AbstractType { @@ -14,10 +17,38 @@ class PlanificacionSeccionType extends AbstractType */ public function buildForm(FormBuilderInterface $builder, array $options) { + $this->seccion = $options['seccion']; + //var_dump($this->seccion); exit; $builder - ->add('idtemaUc') - ->add('observacion') - ->add('seccion') + + ->add('idtemaUc', EntityType::class, array( + 'class' => 'AppBundle:UnidadCurricularVolumenTema', + 'query_builder' => function (EntityRepository $er) { + return $er->createQueryBuilder('u') + ->orderBy('u.orden', 'ASC') + ->where('u.idUnidadCurricularVolumen = ?1') //que las uc conicidan con la malla del estado academico + ->setParameters(array( + 1 => $this->seccion->getOfertaAcademica()->getIdMallaCurricularUc()->getIdUnidadCurricularVolumen()->getId() + )); + ;}, + + )) + ->add('seccion', EntityType::class, array( + 'class' => 'AppBundle:Seccion', + 'query_builder' => function (EntityRepository $er) { + return $er->createQueryBuilder('u') + ->where('u.id = ?1') //que las uc conicidan con la malla del estado academico + ->setParameters(array( + 1 => $this->seccion->getId(), + )); + ;}, + )) + ->add('contenido', CollectionType::class, array( + 'entry_type' => PlanificacionSeccionContenidoType::class, + 'allow_add' => true, + 'label' => false + )) + ; } @@ -27,7 +58,8 @@ class PlanificacionSeccionType extends AbstractType public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'AppBundle\Entity\PlanificacionSeccion' + 'data_class' => 'AppBundle\Entity\PlanificacionSeccion', + 'seccion' => null )); } }