diff --git a/src/AppBundle/Controller/InscripcionController.php b/src/AppBundle/Controller/InscripcionController.php index d166daa..655cd90 100644 --- a/src/AppBundle/Controller/InscripcionController.php +++ b/src/AppBundle/Controller/InscripcionController.php @@ -41,11 +41,11 @@ class InscripcionController extends Controller */ public function newAction(Request $request) { - $inscripcion = new Inscripcion(); + $inscripcion = $this->getDoctrine()->getRepository('AppBundle:EstadoAcademico')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()); $form = $this->createForm('AppBundle\Form\InscripcionType', $inscripcion); $form->handleRequest($request); - if ($form->isSubmitted() && $form->isValid()) { + if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($inscripcion); $em->flush(); diff --git a/src/AppBundle/Entity/EstadoAcademico.php b/src/AppBundle/Entity/EstadoAcademico.php index a1ae05b..bea8c1c 100644 --- a/src/AppBundle/Entity/EstadoAcademico.php +++ b/src/AppBundle/Entity/EstadoAcademico.php @@ -3,6 +3,7 @@ namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; +use AppBundle\Entity\Inscripcion; /** * EstadoAcademico @@ -77,15 +78,34 @@ class EstadoAcademico * }) */ private $idGradoAcademico; + + /** + * @ORM\OneToMany(targetEntity="AppBundle\Entity\Inscripcion", mappedBy="idEstadoAcademico", cascade={"all"}) + * */ + protected $hasInscripcion; + + protected $OfertaAcademica; + + /** + * Constructor + */ + public function __construct() + { + $this->OfertaAcademica = new \Doctrine\Common\Collections\ArrayCollection(); + $this->hasInscripcion = new \Doctrine\Common\Collections\ArrayCollection(); + } /** - * @ORM\PrePersist - */ - public function setFecha() + * Set fecha + * + * @param \DateTime $fecha + * @return EstadoAcademico + */ + public function setFecha($fecha) { - $this->fecha = new \DateTime(); + $this->fecha = $fecha; return $this; } @@ -224,4 +244,66 @@ class EstadoAcademico { return $this->idGradoAcademico; } + + /** + * Add hasInscripcion + * + * @param \AppBundle\Entity\Inscripcion $hasInscripcion + * @return EstadoAcademico + */ + public function addHasInscripcion(\AppBundle\Entity\Inscripcion $hasInscripcion) + { + $this->hasInscripcion[] = $hasInscripcion; + + return $this; + } + + /** + * Remove hasInscripcion + * + * @param \AppBundle\Entity\Inscripcion $hasInscripcion + */ + public function removeHasInscripcion(\AppBundle\Entity\Inscripcion $hasInscripcion) + { + $this->hasInscripcion->removeElement($hasInscripcion); + } + + /** + * Get hasInscripcion + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getHasInscripcion() + { + return $this->hasInscripcion; + } + + + // Important + public function getOfertaAcademica() + { + $ofertaAcademica = new \Doctrine\Common\Collections\ArrayCollection(); + + foreach($this->hasInscripcion as $p) + { + $ofertaAcademica[] = $p->getOfertaAcademica(); + } + + return $ofertaAcademica; + } + // Important + public function setOfertaAcademica($ofertaAcademica) + { + foreach($ofertaAcademica as $o) + { + $inscripcion = new Inscripcion(); + + $inscripcion->setIdEstadoAcademico($this); + $inscripcion->setIdOfertaAcademica($o); + $inscripcion->setIdEstatus($this->getIdDocenteServicio()->getIdEstatus()); + + $this->addHasInscripcion($inscripcion); + } + + } } diff --git a/src/AppBundle/Entity/EstadoAcademico.php~ b/src/AppBundle/Entity/EstadoAcademico.php~ index 47a16b7..1d66588 100644 --- a/src/AppBundle/Entity/EstadoAcademico.php~ +++ b/src/AppBundle/Entity/EstadoAcademico.php~ @@ -7,8 +7,9 @@ use Doctrine\ORM\Mapping as ORM; /** * EstadoAcademico * - * @ORM\Table(name="estado_academico", indexes={@ORM\Index(name="fki_id_perido", columns={"id_periodo"}), @ORM\Index(name="fki_docente_servicio_estado_academico", columns={"id_docente_servicio"}), @ORM\Index(name="fki_grado_academico_estado_academico", columns={"id_grado_academico"}), @ORM\Index(name="fki_malla_curricular_estado_academico", columns={"id_malla_curricular"}), @ORM\Index(name="fki_rol_institucion_estado_academico", columns={"id_rol_institucion"})}) + * @ORM\Table(name="estado_academico", uniqueConstraints={@ORM\UniqueConstraint(name="i_rol_institucion_oferta_malla", columns={"id_rol_institucion", "id_oferta_malla_curricular"})}, indexes = {@ORM\Index(name="fki_docente_servicio_estado_academico", columns={"id_docente_servicio"}), @ORM\Index(name="fki_grado_academico_estado_academico", columns={"id_grado_academico"}), @ORM\Index(name="fki_oferta_malla_curricular_estado_academico", columns={"id_oferta_malla_curricular"}), @ORM\Index(name="fki_rol_institucion_estado_academico", columns={"id_rol_institucion"})}) * @ORM\Entity + * @ORM\HasLifecycleCallbacks() */ class EstadoAcademico { @@ -76,6 +77,12 @@ class EstadoAcademico * }) */ private $idGradoAcademico; + + /** + * @ORM\OneToMany(targetEntity="AppBundle\Entity\Inscripcion", mappedBy="idEstadoAcademico", cascade={"all"}) + * */ + protected $hasInscripcion; + } diff --git a/src/AppBundle/Entity/Inscripcion.php b/src/AppBundle/Entity/Inscripcion.php index 859b424..db092aa 100644 --- a/src/AppBundle/Entity/Inscripcion.php +++ b/src/AppBundle/Entity/Inscripcion.php @@ -7,7 +7,7 @@ use Doctrine\ORM\Mapping as ORM; /** * Inscripcion * - * @ORM\Table(name="inscripcion", uniqueConstraints={@ORM\UniqueConstraint(name="i_inscripcion", columns={"id_oferta_academica", "id_estado_academico"})}, indexes={@ORM\Index(name="oferta_academica_inscripcion", columns={"id_oferta_academica"}), @ORM\Index(name="fki_estado_academico_inscripcion", columns={"id_estado_academico"}), @ORM\Index(name="fki_estatus_inscripcion", columns={"id_estatus"})}) + * @ORM\Table(name="inscripcion") * @ORM\Entity */ class Inscripcion @@ -23,30 +23,18 @@ class Inscripcion private $id; /** - * @var \AppBundle\Entity\EstadoAcademico - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\EstadoAcademico") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_estado_academico", referencedColumnName="id", nullable=false) - * }) - */ + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\EstadoAcademico", inversedBy="hasInscripcion") + * @ORM\JoinColumn(name="estado_academico_id", referencedColumnName="id") + * */ private $idEstadoAcademico; - /** - * @var \AppBundle\Entity\OfertaAcademica - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\OfertaAcademica") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_oferta_academica", referencedColumnName="id", nullable=false) - * }) - */ + /** + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\OfertaAcademica", inversedBy="hasInscripcion") + * @ORM\JoinColumn(name="oferta_academica_id", referencedColumnName="id") + * */ private $idOfertaAcademica; - /** - * @ORM\OneToMany(targetEntity="AppBundle\Entity\OfertaAcademica", mappedBy="idMallaCurricularUc") - */ - private $uc; - + /** * @var \AppBundle\Entity\Estatus * @@ -57,7 +45,7 @@ class Inscripcion */ private $idEstatus; - + /** * Get id @@ -75,7 +63,7 @@ class Inscripcion * @param \AppBundle\Entity\EstadoAcademico $idEstadoAcademico * @return Inscripcion */ - public function setIdEstadoAcademico(\AppBundle\Entity\EstadoAcademico $idEstadoAcademico) + public function setIdEstadoAcademico(\AppBundle\Entity\EstadoAcademico $idEstadoAcademico = null) { $this->idEstadoAcademico = $idEstadoAcademico; @@ -98,7 +86,7 @@ class Inscripcion * @param \AppBundle\Entity\OfertaAcademica $idOfertaAcademica * @return Inscripcion */ - public function setIdOfertaAcademica(\AppBundle\Entity\OfertaAcademica $idOfertaAcademica) + public function setIdOfertaAcademica(\AppBundle\Entity\OfertaAcademica $idOfertaAcademica = null) { $this->idOfertaAcademica = $idOfertaAcademica; @@ -137,44 +125,4 @@ class Inscripcion { return $this->idEstatus; } - /** - * Constructor - */ - public function __construct() - { - $this->uc = new \Doctrine\Common\Collections\ArrayCollection(); - } - - /** - * Add uc - * - * @param \AppBundle\Entity\OfertaAcademica $uc - * @return Inscripcion - */ - public function addUc(\AppBundle\Entity\OfertaAcademica $uc) - { - $this->uc[] = $uc; - - return $this; - } - - /** - * Remove uc - * - * @param \AppBundle\Entity\OfertaAcademica $uc - */ - public function removeUc(\AppBundle\Entity\OfertaAcademica $uc) - { - $this->uc->removeElement($uc); - } - - /** - * Get uc - * - * @return \Doctrine\Common\Collections\Collection - */ - public function getUc() - { - return $this->uc; - } } diff --git a/src/AppBundle/Entity/Inscripcion.php~ b/src/AppBundle/Entity/Inscripcion.php~ index 44a8c5c..9d6e103 100644 --- a/src/AppBundle/Entity/Inscripcion.php~ +++ b/src/AppBundle/Entity/Inscripcion.php~ @@ -7,7 +7,7 @@ use Doctrine\ORM\Mapping as ORM; /** * Inscripcion * - * @ORM\Table(name="inscripcion", uniqueConstraints={@ORM\UniqueConstraint(name="i_inscripcion", columns={"id_oferta_academica", "id_estado_academico"})}, indexes={@ORM\Index(name="oferta_academica_inscripcion", columns={"id_oferta_academica"}), @ORM\Index(name="fki_estado_academico_inscripcion", columns={"id_estado_academico"}), @ORM\Index(name="fki_estatus_inscripcion", columns={"id_estatus"})}) + * @ORM\Table(name="inscripcion") * @ORM\Entity */ class Inscripcion @@ -23,30 +23,18 @@ class Inscripcion private $id; /** - * @var \AppBundle\Entity\EstadoAcademico - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\EstadoAcademico") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_estado_academico", referencedColumnName="id", nullable=false) - * }) - */ + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\EstadoAcademico", inversedBy="hasInscripcion") + * @ORM\JoinColumn(name="estado_academico_id", referencedColumnName="id") + * */ private $idEstadoAcademico; - /** - * @var \AppBundle\Entity\OfertaAcademica - * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\OfertaAcademica") - * @ORM\JoinColumns({ - * @ORM\JoinColumn(name="id_oferta_academica", referencedColumnName="id", nullable=false) - * }) - */ + /** + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\OfertaAcademica", inversedBy="hasInscripcion") + * @ORM\JoinColumn(name="oferta_academica_id", referencedColumnName="id") + * */ private $idOfertaAcademica; - /** - * @ORM\OneToMany(targetEntity="AppBundle\Entity\OfertaAcademica", mappedBy="id_malla_curricular_uc") - */ - private $uc; - + /** * @var \AppBundle\Entity\Estatus * @@ -57,84 +45,5 @@ class Inscripcion */ private $idEstatus; - - - /** - * Get id - * - * @return integer - */ - public function getId() - { - return $this->id; - } - - /** - * Set idEstadoAcademico - * - * @param \AppBundle\Entity\EstadoAcademico $idEstadoAcademico - * @return Inscripcion - */ - public function setIdEstadoAcademico(\AppBundle\Entity\EstadoAcademico $idEstadoAcademico) - { - $this->idEstadoAcademico = $idEstadoAcademico; - - return $this; - } - - /** - * Get idEstadoAcademico - * - * @return \AppBundle\Entity\EstadoAcademico - */ - public function getIdEstadoAcademico() - { - return $this->idEstadoAcademico; - } - - /** - * Set idOfertaAcademica - * - * @param \AppBundle\Entity\OfertaAcademica $idOfertaAcademica - * @return Inscripcion - */ - public function setIdOfertaAcademica(\AppBundle\Entity\OfertaAcademica $idOfertaAcademica) - { - $this->idOfertaAcademica = $idOfertaAcademica; - - return $this; - } - - /** - * Get idOfertaAcademica - * - * @return \AppBundle\Entity\OfertaAcademica - */ - public function getIdOfertaAcademica() - { - return $this->idOfertaAcademica; - } - - /** - * Set idEstatus - * - * @param \AppBundle\Entity\Estatus $idEstatus - * @return Inscripcion - */ - public function setIdEstatus(\AppBundle\Entity\Estatus $idEstatus) - { - $this->idEstatus = $idEstatus; - - return $this; - } - - /** - * Get idEstatus - * - * @return \AppBundle\Entity\Estatus - */ - public function getIdEstatus() - { - return $this->idEstatus; - } + } diff --git a/src/AppBundle/Entity/OfertaAcademica.php b/src/AppBundle/Entity/OfertaAcademica.php index ab1200c..b386b0a 100644 --- a/src/AppBundle/Entity/OfertaAcademica.php +++ b/src/AppBundle/Entity/OfertaAcademica.php @@ -44,9 +44,15 @@ class OfertaAcademica * @ORM\JoinColumn(name="id_malla_curricular_uc", referencedColumnName="id", nullable=false) * }) * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Inscripcion", inversedBy="uc") */ private $idMallaCurricularUc; + + + /** + * @ORM\OneToMany(targetEntity="AppBundle\Entity\Inscripcion" , mappedBy="idOfertaAcademica" , cascade={"all"}) + * */ + protected $hasInscripcion; + /** * @var \AppBundle\Entity\Turno @@ -89,6 +95,15 @@ class OfertaAcademica private $idOfertaMallaCurricular; + + /** + * Constructor + */ + public function __construct() + { + $this->hasInscripcion = new \Doctrine\Common\Collections\ArrayCollection(); + } + /** * Set aula * @@ -148,10 +163,10 @@ class OfertaAcademica /** * Set idMallaCurricularUc * - * @param \AppBundle\Entity\MallaCurricularUC $idMallaCurricularUc + * @param \AppBundle\Entity\MallaCurricularUc $idMallaCurricularUc * @return OfertaAcademica */ - public function setIdMallaCurricularUc(\AppBundle\Entity\MallaCurricularUC $idMallaCurricularUc) + public function setIdMallaCurricularUc(\AppBundle\Entity\MallaCurricularUc $idMallaCurricularUc) { $this->idMallaCurricularUc = $idMallaCurricularUc; @@ -161,7 +176,7 @@ class OfertaAcademica /** * Get idMallaCurricularUc * - * @return \AppBundle\Entity\MallaCurricularUC + * @return \AppBundle\Entity\MallaCurricularUc */ public function getIdMallaCurricularUc() { @@ -169,6 +184,39 @@ class OfertaAcademica } /** + * Add hasInscripcion + * + * @param \AppBundle\Entity\Inscripcion $hasInscripcion + * @return OfertaAcademica + */ + public function addHasInscripcion(\AppBundle\Entity\Inscripcion $hasInscripcion) + { + $this->hasInscripcion[] = $hasInscripcion; + + return $this; + } + + /** + * Remove hasInscripcion + * + * @param \AppBundle\Entity\Inscripcion $hasInscripcion + */ + public function removeHasInscripcion(\AppBundle\Entity\Inscripcion $hasInscripcion) + { + $this->hasInscripcion->removeElement($hasInscripcion); + } + + /** + * Get hasInscripcion + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getHasInscripcion() + { + return $this->hasInscripcion; + } + + /** * Set idTurno * * @param \AppBundle\Entity\Turno $idTurno @@ -263,27 +311,4 @@ class OfertaAcademica public function __toString() { return $this->getIdMallaCurricularUc()->getIdUnidadCurricularVolumen()->getIdUnidadCurricular()->getNombre(); } - - /** - * Set inscripcion - * - * @param \AppBundle\Entity\MallaCurricularUc $inscripcion - * @return OfertaAcademica - */ - public function setInscripcion(\AppBundle\Entity\MallaCurricularUc $inscripcion) - { - $this->inscripcion = $inscripcion; - - return $this; - } - - /** - * Get inscripcion - * - * @return \AppBundle\Entity\MallaCurricularUc - */ - public function getInscripcion() - { - return $this->inscripcion; - } } diff --git a/src/AppBundle/Entity/OfertaAcademica.php~ b/src/AppBundle/Entity/OfertaAcademica.php~ index a14572f..77fff80 100644 --- a/src/AppBundle/Entity/OfertaAcademica.php~ +++ b/src/AppBundle/Entity/OfertaAcademica.php~ @@ -44,9 +44,15 @@ class OfertaAcademica * @ORM\JoinColumn(name="id_malla_curricular_uc", referencedColumnName="id", nullable=false) * }) * - * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Inscripcion", inversedBy="uc") */ - private $inscripcion; + private $idMallaCurricularUc; + + + /** + * @ORM\OneToMany(targetEntity="AppBundle\Entity\Inscripcion" , mappedBy="idOfertaAcademica" , cascade={"all"}) + * */ + protected $hasInscripcion; + /** * @var \AppBundle\Entity\Turno @@ -89,178 +95,5 @@ class OfertaAcademica private $idOfertaMallaCurricular; - /** - * Set aula - * - * @param string $aula - * @return OfertaAcademica - */ - public function setAula($aula) - { - $this->aula = $aula; - - return $this; - } - - /** - * Get aula - * - * @return string - */ - public function getAula() - { - return $this->aula; - } - - /** - * Set cupo - * - * @param string $cupo - * @return OfertaAcademica - */ - public function setCupo($cupo) - { - $this->cupo = $cupo; - - return $this; - } - - /** - * Get cupo - * - * @return string - */ - public function getCupo() - { - return $this->cupo; - } - - /** - * Get id - * - * @return integer - */ - public function getId() - { - return $this->id; - } - - /** - * Set idMallaCurricularUc - * - * @param \AppBundle\Entity\MallaCurricularUC $idMallaCurricularUc - * @return OfertaAcademica - */ - public function setIdMallaCurricularUc(\AppBundle\Entity\MallaCurricularUC $idMallaCurricularUc) - { - $this->idMallaCurricularUc = $idMallaCurricularUc; - - return $this; - } - - /** - * Get idMallaCurricularUc - * - * @return \AppBundle\Entity\MallaCurricularUC - */ - public function getIdMallaCurricularUc() - { - return $this->idMallaCurricularUc; - } - - /** - * Set idTurno - * - * @param \AppBundle\Entity\Turno $idTurno - * @return OfertaAcademica - */ - public function setIdTurno(\AppBundle\Entity\Turno $idTurno) - { - $this->idTurno = $idTurno; - - return $this; - } - - /** - * Get idTurno - * - * @return \AppBundle\Entity\Turno - */ - public function getIdTurno() - { - return $this->idTurno; - } - - /** - * Set idSeccion - * - * @param \AppBundle\Entity\Seccion $idSeccion - * @return OfertaAcademica - */ - public function setIdSeccion(\AppBundle\Entity\Seccion $idSeccion) - { - $this->idSeccion = $idSeccion; - - return $this; - } - - /** - * Get idSeccion - * - * @return \AppBundle\Entity\Seccion - */ - public function getIdSeccion() - { - return $this->idSeccion; - } - - /** - * Set idRolInstitucion - * - * @param \AppBundle\Entity\RolInstitucion $idRolInstitucion - * @return OfertaAcademica - */ - public function setIdRolInstitucion(\AppBundle\Entity\RolInstitucion $idRolInstitucion) - { - $this->idRolInstitucion = $idRolInstitucion; - - return $this; - } - - /** - * Get idRolInstitucion - * - * @return \AppBundle\Entity\RolInstitucion - */ - public function getIdRolInstitucion() - { - return $this->idRolInstitucion; - } - - /** - * Set idOfertaMallaCurricular - * - * @param \AppBundle\Entity\OfertaMallaCurricular $idOfertaMallaCurricular - * @return OfertaAcademica - */ - public function setIdOfertaMallaCurricular(\AppBundle\Entity\OfertaMallaCurricular $idOfertaMallaCurricular) - { - $this->idOfertaMallaCurricular = $idOfertaMallaCurricular; - - return $this; - } - - /** - * Get idOfertaMallaCurricular - * - * @return \AppBundle\Entity\OfertaMallaCurricular - */ - public function getIdOfertaMallaCurricular() - { - return $this->idOfertaMallaCurricular; - } - public function __toString() { - return $this->getIdMallaCurricularUc()->getIdUnidadCurricularVolumen()->getIdUnidadCurricular()->getNombre(); - } } diff --git a/src/AppBundle/Form/InscripcionType.php b/src/AppBundle/Form/InscripcionType.php index d1da6bb..5a2dbc5 100644 --- a/src/AppBundle/Form/InscripcionType.php +++ b/src/AppBundle/Form/InscripcionType.php @@ -16,10 +16,10 @@ class InscripcionType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - /*->add('idEstadoAcademico') + /*->add('idRolInstitucion') ->add('idOfertaAcademica') ->add('idEstatus')*/ - ->add('uc', EntityType::class, array( + ->add('OfertaAcademica', EntityType::class, array( 'class' => 'AppBundle:OfertaAcademica', 'expanded' => true, 'multiple' => true @@ -33,7 +33,7 @@ class InscripcionType extends AbstractType public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'AppBundle\Entity\Inscripcion', + 'data_class' => 'AppBundle\Entity\EstadoAcademico', )); } }