Commit e1cab739ee686598d51aed2f4b1dfea35405e6a0

Authored by Wilmer Ramones
1 parent 158864c8d0
Exists in master

Creado el CRUD de los estudiantes y la sentencia de solo mostar las Unidades Cur…

…riculares de su malla
app/Resources/views/inscripcion/edit.html.twig
1 -{% extends 'base.html.twig' %} 1 +{% extends 'base_app.html.twig' %}
2 2
3 {% block body %} 3 {% block body %}
4 <h1>Inscripcion edit</h1> 4 <h1>Inscripcion edit</h1>
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 10
11 <ul> 11 <ul>
12 <li> 12 <li>
13 - <a href="{{ path('ceapp_estudiante_inscripcion_index') }}">Back to the list</a> 13 + <a href="{{ path('inscripcion_index') }}">Back to the list</a>
14 </li> 14 </li>
15 <li> 15 <li>
16 {{ form_start(delete_form) }} 16 {{ form_start(delete_form) }}
app/Resources/views/inscripcion/index.html.twig
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 <h3> Unidades Curriculares Inscritas</h3> 15 <h3> Unidades Curriculares Inscritas</h3>
16 </div> 16 </div>
17 <!-- /widget-header --> 17 <!-- /widget-header -->
18 - {% if not estado_academico.hasInscripcion %} 18 + {% if not estado_academico.hasInscripcion | length > 0 %}
19 <div class="widget-content"> 19 <div class="widget-content">
20 <div class="widget big-stats-container"> 20 <div class="widget big-stats-container">
21 <div class="widget-content"> 21 <div class="widget-content">
@@ -30,17 +30,20 @@ @@ -30,17 +30,20 @@
30 <!-- /widget-content --> 30 <!-- /widget-content -->
31 </div> 31 </div>
32 </div> 32 </div>
33 - {% else %} 33 +<!--Si Tiene inscripcion-->{% else %}
34 <div class="widget-content"> 34 <div class="widget-content">
35 <div class="widget big-stats-container"> 35 <div class="widget big-stats-container">
36 <div class="widget-content"> 36 <div class="widget-content">
37 - <h6 class="bigstats"> 37 + <div class="container">
38 {% for inscrita in estado_academico.hasInscripcion %} 38 {% for inscrita in estado_academico.hasInscripcion %}
39 - <p>{{ inscrita.idOfertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.idUnidadCurricular.nombre }}</p> 39 + <p>
  40 + {{ inscrita.idOfertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.idUnidadCurricular.nombre }}
  41 + <a class="btn btn-warning btn-xs" href="{{ path('ceapp_estudiante_inscripcion_edit', { 'id': inscrita.id }) }}"><i class="fa fa-edit"></i></a>
  42 + </p>
40 {% endfor %} 43 {% endfor %}
41 - </h6> 44 + </div>
42 <div class="col-md-2"> 45 <div class="col-md-2">
43 - <a class="btn btn-primary" href="{{ path('ceapp_estudiante_inscripcion_new') }}">Inscribirme</a> 46 +
44 </div> 47 </div>
45 </div> 48 </div>
46 <!-- /widget-content --> 49 <!-- /widget-content -->
app/Resources/views/inscripcion/show.html.twig
@@ -7,7 +7,13 @@ @@ -7,7 +7,13 @@
7 <tbody> 7 <tbody>
8 <tr> 8 <tr>
9 <th>Id</th> 9 <th>Id</th>
  10 + <th>Uc</th>
  11 + <th>Seccion</th>
  12 + </tr>
  13 + <tr>
10 <td>{{ inscripcion.id }}</td> 14 <td>{{ inscripcion.id }}</td>
  15 + <td>{{ inscripcion.idOfertaAcademica.idMallaCurricularUc.idUnidadCurricularVolumen.idUnidadCurricular.nombre }}</td>
  16 + <td>{{ inscripcion.idOfertaAcademica.idSeccion.nombre }}</td>
11 </tr> 17 </tr>
12 </tbody> 18 </tbody>
13 </table> 19 </table>
src/AppBundle/Controller/InscripcionController.php
@@ -7,7 +7,8 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; @@ -7,7 +7,8 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
7 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; 7 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
8 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 8 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
9 use AppBundle\Entity\Inscripcion; 9 use AppBundle\Entity\Inscripcion;
10 -use AppBundle\Form\InscripcionType; 10 +use AppBundle\Entity\EstadoAcademico;
  11 +
11 12
12 /** 13 /**
13 * Inscripcion controller. 14 * Inscripcion controller.
@@ -42,7 +43,9 @@ class InscripcionController extends Controller @@ -42,7 +43,9 @@ class InscripcionController extends Controller
42 public function newAction(Request $request) 43 public function newAction(Request $request)
43 { 44 {
44 $inscripcion = $this->getDoctrine()->getRepository('AppBundle:EstadoAcademico')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()); 45 $inscripcion = $this->getDoctrine()->getRepository('AppBundle:EstadoAcademico')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion());
45 - $form = $this->createForm('AppBundle\Form\InscripcionType', $inscripcion); 46 + $form = $this->createForm('AppBundle\Form\InscripcionType', $inscripcion, array(
  47 + 'inscripcion' => $inscripcion
  48 + ));
46 $form->handleRequest($request); 49 $form->handleRequest($request);
47 50
48 if ($form->isSubmitted() && $form->isValid()) { 51 if ($form->isSubmitted() && $form->isValid()) {
@@ -50,7 +53,7 @@ class InscripcionController extends Controller @@ -50,7 +53,7 @@ class InscripcionController extends Controller
50 $em->persist($inscripcion); 53 $em->persist($inscripcion);
51 $em->flush(); 54 $em->flush();
52 55
53 - return $this->redirectToRoute('ceapp_estudiante_inscripcion_show', array('id' => $inscripcion->getId())); 56 + return $this->redirectToRoute('inscripcion_index');
54 } 57 }
55 58
56 return $this->render('inscripcion/new.html.twig', array( 59 return $this->render('inscripcion/new.html.twig', array(
@@ -83,12 +86,15 @@ class InscripcionController extends Controller @@ -83,12 +86,15 @@ class InscripcionController extends Controller
83 */ 86 */
84 public function editAction(Request $request, Inscripcion $inscripcion) 87 public function editAction(Request $request, Inscripcion $inscripcion)
85 { 88 {
  89 + $em = $this->getDoctrine()->getManager();
86 $deleteForm = $this->createDeleteForm($inscripcion); 90 $deleteForm = $this->createDeleteForm($inscripcion);
87 - $editForm = $this->createForm('AppBundle\Form\InscripcionType', $inscripcion); 91 + $estado_academico = $em->getRepository('AppBundle:EstadoAcademico')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion());
  92 + $editForm = $this->createForm('AppBundle\Form\InscripcionEditType', $inscripcion);
88 $editForm->handleRequest($request); 93 $editForm->handleRequest($request);
89 94
90 if ($editForm->isSubmitted() && $editForm->isValid()) { 95 if ($editForm->isSubmitted() && $editForm->isValid()) {
91 - $em = $this->getDoctrine()->getManager(); 96 + // $em = $this->getDoctrine()->getManager();
  97 + $em->persist($estado_academico);
92 $em->persist($inscripcion); 98 $em->persist($inscripcion);
93 $em->flush(); 99 $em->flush();
94 100
@@ -119,7 +125,7 @@ class InscripcionController extends Controller @@ -119,7 +125,7 @@ class InscripcionController extends Controller
119 $em->flush(); 125 $em->flush();
120 } 126 }
121 127
122 - return $this->redirectToRoute('ceapp_estudiante_inscripcion_index'); 128 + return $this->redirectToRoute('inscripcion_index');
123 } 129 }
124 130
125 /** 131 /**
src/AppBundle/Entity/EstadoAcademico.php
@@ -84,7 +84,7 @@ class EstadoAcademico @@ -84,7 +84,7 @@ class EstadoAcademico
84 * */ 84 * */
85 protected $hasInscripcion; 85 protected $hasInscripcion;
86 86
87 - private $OfertaAcademica; 87 + private $idOfertaAcademica;
88 88
89 89
90 90
@@ -93,8 +93,9 @@ class EstadoAcademico @@ -93,8 +93,9 @@ class EstadoAcademico
93 */ 93 */
94 public function __construct() 94 public function __construct()
95 { 95 {
96 - $this->OfertaAcademica = new \Doctrine\Common\Collections\ArrayCollection(); 96 + $this->idOfertaAcademica = new \Doctrine\Common\Collections\ArrayCollection();
97 $this->hasInscripcion = new \Doctrine\Common\Collections\ArrayCollection(); 97 $this->hasInscripcion = new \Doctrine\Common\Collections\ArrayCollection();
  98 + $this->fecha = new \DateTime();
98 } 99 }
99 100
100 /** 101 /**
@@ -280,30 +281,30 @@ class EstadoAcademico @@ -280,30 +281,30 @@ class EstadoAcademico
280 281
281 282
282 /** 283 /**
283 - * Get OfertaAcademica 284 + * Get idOfertaAcademica
284 * 285 *
285 * @return \Doctrine\Common\Collections\Collection 286 * @return \Doctrine\Common\Collections\Collection
286 */ 287 */
287 - public function getOfertaAcademica() 288 + public function getIdOfertaAcademica()
288 { 289 {
289 - $ofertaAcademica = new \Doctrine\Common\Collections\ArrayCollection(); 290 + $idOfertaAcademica = new \Doctrine\Common\Collections\ArrayCollection();
290 291
291 foreach($this->hasInscripcion as $inscrita) 292 foreach($this->hasInscripcion as $inscrita)
292 { 293 {
293 - $ofertaAcademica[] = $inscrita->getOfertaAcademica(); 294 + $idOfertaAcademica[] = $inscrita->getIdOfertaAcademica();
294 } 295 }
295 296
296 - return $ofertaAcademica; 297 + return $idOfertaAcademica;
297 } 298 }
298 299
299 300
300 /** 301 /**
301 - * Set OfertaAcademica 302 + * Set idOfertaAcademica
302 * 303 *
303 */ 304 */
304 - public function setOfertaAcademica($ofertaAcademica) 305 + public function setIdOfertaAcademica($idOfertaAcademica)
305 { 306 {
306 - foreach($ofertaAcademica as $inscrita) 307 + foreach($idOfertaAcademica as $inscrita)
307 { 308 {
308 $inscripcion = new Inscripcion(); 309 $inscripcion = new Inscripcion();
309 310
src/AppBundle/Entity/Inscripcion.php
@@ -125,4 +125,9 @@ class Inscripcion @@ -125,4 +125,9 @@ class Inscripcion
125 { 125 {
126 return $this->idEstatus; 126 return $this->idEstatus;
127 } 127 }
  128 +
  129 +
  130 + public function __toString() {
  131 + return $this->getIdOfertaAcademica()->getIdMallaCurricularUc()->getIdUnidadCurricularVolumen()->getIdUnidadCurricular()->getNombre();
  132 + }
128 } 133 }
src/AppBundle/Form/InscripcionEditType.php
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +<?php
  2 +
  3 +namespace AppBundle\Form;
  4 +
  5 +use Symfony\Component\Form\AbstractType;
  6 +use Symfony\Component\Form\FormBuilderInterface;
  7 +use Symfony\Component\OptionsResolver\OptionsResolver;
  8 +use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  9 +
  10 +class InscripcionEditType extends AbstractType
  11 +{
  12 + /**
  13 + * @param FormBuilderInterface $builder
  14 + * @param array $options
  15 + */
  16 + public function buildForm(FormBuilderInterface $builder, array $options)
  17 + {
  18 + $builder
  19 + ->add('idOfertaAcademica')
  20 + ->add('idEstatus')
  21 +
  22 + ;
  23 + }
  24 +
  25 + /**
  26 + * @param OptionsResolver $resolver
  27 + */
  28 + public function configureOptions(OptionsResolver $resolver)
  29 + {
  30 + $resolver->setDefaults(array(
  31 + 'data_class' => 'AppBundle\Entity\Inscripcion',
  32 + ));
  33 + }
  34 +}
src/AppBundle/Form/InscripcionType.php
@@ -6,6 +6,7 @@ use Symfony\Component\Form\AbstractType; @@ -6,6 +6,7 @@ use Symfony\Component\Form\AbstractType;
6 use Symfony\Component\Form\FormBuilderInterface; 6 use Symfony\Component\Form\FormBuilderInterface;
7 use Symfony\Component\OptionsResolver\OptionsResolver; 7 use Symfony\Component\OptionsResolver\OptionsResolver;
8 use Symfony\Bridge\Doctrine\Form\Type\EntityType; 8 use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  9 +use Doctrine\ORM\EntityRepository;
9 10
10 class InscripcionType extends AbstractType 11 class InscripcionType extends AbstractType
11 { 12 {
@@ -15,14 +16,32 @@ class InscripcionType extends AbstractType @@ -15,14 +16,32 @@ class InscripcionType extends AbstractType
15 */ 16 */
16 public function buildForm(FormBuilderInterface $builder, array $options) 17 public function buildForm(FormBuilderInterface $builder, array $options)
17 { 18 {
  19 + $this->estado_academico = $options['inscripcion'];
  20 + if (count($this->estado_academico->getHasInscripcion()) == 0){
  21 + $tray = 1;
  22 + $tram = 1;
  23 + }
  24 + echo $tray;
18 $builder 25 $builder
19 /*->add('idRolInstitucion') 26 /*->add('idRolInstitucion')
20 ->add('idOfertaAcademica') 27 ->add('idOfertaAcademica')
21 ->add('idEstatus')*/ 28 ->add('idEstatus')*/
22 - ->add('OfertaAcademica', EntityType::class, array( 29 + ->add('idOfertaAcademica', EntityType::class, array(
23 'class' => 'AppBundle:OfertaAcademica', 30 'class' => 'AppBundle:OfertaAcademica',
24 'expanded' => true, 31 'expanded' => true,
25 - 'multiple' => true 32 + 'multiple' => true,
  33 + 'query_builder' => function (EntityRepository $er) {
  34 + return $er->createQueryBuilder('u')
  35 + ->orderBy('u.idMallaCurricularUc', 'ASC')
  36 + ->innerJoin('u.idMallaCurricularUc', 'm', 'WITH', 'm.idTrayectoTramoModalidadTipoUc = ?2')
  37 + ->innerJoin('m.idTrayectoTramoModalidadTipoUc', 't', 'WITH', 't.idTrayecto = ?3')
  38 + ->where('u.idOfertaMallaCurricular = ?1 ') //que las uc conicidan con la malla del estado academico
  39 + ->setParameters(array(
  40 + 1 => $this->estado_academico->getIdOfertaMallaCurricular(),
  41 + 2 => 1,
  42 + 3 => 1
  43 + ));
  44 + ;},
26 )) 45 ))
27 ; 46 ;
28 } 47 }
@@ -34,6 +53,7 @@ class InscripcionType extends AbstractType @@ -34,6 +53,7 @@ class InscripcionType extends AbstractType
34 { 53 {
35 $resolver->setDefaults(array( 54 $resolver->setDefaults(array(
36 'data_class' => 'AppBundle\Entity\EstadoAcademico', 55 'data_class' => 'AppBundle\Entity\EstadoAcademico',
  56 + 'inscripcion' => null,
37 )); 57 ));
38 } 58 }
39 } 59 }