Commit 30a854d1e6dbc5f1bcbbfc09a467620e27506f17
1 parent
e8b243cb44
Exists in
master
Creada la estructura para mostrar la planificacion creada por el docente a los e…
…studiantes inscritos en la UC.
Showing
4 changed files
with
147 additions
and
3 deletions
Show diff stats
app/Resources/views/inscripcion/index.html.twig
| @@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
| 79 | {% if inscritas.getIdSeccion.getPlanificacion | length > 0 %} | 79 | {% if inscritas.getIdSeccion.getPlanificacion | length > 0 %} |
| 80 | <ol> | 80 | <ol> |
| 81 | {% for planificacion in inscritas.getIdSeccion.getPlanificacion %} | 81 | {% for planificacion in inscritas.getIdSeccion.getPlanificacion %} |
| 82 | - <li> <a href="{{ path('ceapp_docente_planificacion_edit', { 'id': planificacion.id }) }}">{{ planificacion.idTemaUc.nombre }}</a></li> | 82 | + <li> <a href="{{ path('ceapp_estudiante_planificacion_show', { 'id': planificacion.id }) }}">{{ planificacion.idTemaUc.nombre }}</a></li> |
| 83 | {% endfor %} | 83 | {% endfor %} |
| 84 | </ol> | 84 | </ol> |
| 85 | {% else %} | 85 | {% else %} |
app/Resources/views/planificacionseccion/estudiante_show.html.twig
| @@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
| 1 | +{% extends 'base.html.twig' %} | ||
| 2 | + | ||
| 3 | +{% block body %} | ||
| 4 | + <h1>PlanificacionSeccion edit</h1> | ||
| 5 | + | ||
| 6 | + {{ form_start(show_form) }} | ||
| 7 | + {{ form_widget(show_form) }} | ||
| 8 | + {{ form_end(show_form) }} | ||
| 9 | + | ||
| 10 | + <ul> | ||
| 11 | + <li> | ||
| 12 | + <a href="{{ path('inscripcion_index') }}">Back to the list</a> | ||
| 13 | + </li> | ||
| 14 | + | ||
| 15 | + </ul> | ||
| 16 | +{% endblock %} |
src/AppBundle/Controller/InscripcionController.php
| @@ -7,7 +7,7 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; | @@ -7,7 +7,7 @@ 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\Entity\EstadoAcademico; | 10 | +use AppBundle\Entity\PlanificacionSeccion; |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | /** | 13 | /** |
| @@ -78,7 +78,7 @@ class InscripcionController extends Controller | @@ -78,7 +78,7 @@ class InscripcionController extends Controller | ||
| 78 | /** | 78 | /** |
| 79 | * Finds and displays a Inscripcion entity. | 79 | * Finds and displays a Inscripcion entity. |
| 80 | * | 80 | * |
| 81 | - * @Route("/{id}", name="ceapp_estudiante_inscripcion_show") | 81 | + * @Route("/show/{id}", name="ceapp_estudiante_inscripcion_show") |
| 82 | * @Method("GET") | 82 | * @Method("GET") |
| 83 | */ | 83 | */ |
| 84 | public function showAction(Inscripcion $inscripcion) | 84 | public function showAction(Inscripcion $inscripcion) |
| @@ -90,6 +90,28 @@ class InscripcionController extends Controller | @@ -90,6 +90,28 @@ class InscripcionController extends Controller | ||
| 90 | 'delete_form' => $deleteForm->createView(), | 90 | 'delete_form' => $deleteForm->createView(), |
| 91 | )); | 91 | )); |
| 92 | } | 92 | } |
| 93 | + | ||
| 94 | + | ||
| 95 | + /** | ||
| 96 | + * Displays la planificación creada por el docente. | ||
| 97 | + * | ||
| 98 | + * @Route("/planificacion/{id}", name="ceapp_estudiante_planificacion_show") | ||
| 99 | + * @Method({"GET", "POST"}) | ||
| 100 | + */ | ||
| 101 | + public function showPlanificacionAction(Request $request, PlanificacionSeccion $planificacionSeccion) | ||
| 102 | + { | ||
| 103 | + $seccion = $this->getDoctrine()->getRepository('AppBundle:Seccion')->findOneById($planificacionSeccion->getSeccion()); | ||
| 104 | + | ||
| 105 | + $showForm = $this->createForm('AppBundle\Form\PlanificacionSeccionShowType', $planificacionSeccion, array('seccion' => $seccion)); | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + return $this->render('planificacionseccion/estudiante_show.html.twig', array( | ||
| 109 | + 'planificacionSeccion' => $planificacionSeccion, | ||
| 110 | + 'show_form' => $showForm->createView(), | ||
| 111 | + )); | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + | ||
| 93 | 115 | ||
| 94 | /** | 116 | /** |
| 95 | * Displays a form to edit an existing Inscripcion entity. | 117 | * Displays a form to edit an existing Inscripcion entity. |
src/AppBundle/Form/PlanificacionSeccionShowType.php
| @@ -0,0 +1,106 @@ | @@ -0,0 +1,106 @@ | ||
| 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\Component\Form\Extension\Core\Type\CollectionType; | ||
| 9 | +use Symfony\Bridge\Doctrine\Form\Type\EntityType; | ||
| 10 | +use Doctrine\ORM\EntityRepository; | ||
| 11 | + | ||
| 12 | +class PlanificacionSeccionShowType extends AbstractType | ||
| 13 | +{ | ||
| 14 | + /** | ||
| 15 | + * @param FormBuilderInterface $builder | ||
| 16 | + * @param array $options | ||
| 17 | + */ | ||
| 18 | + public function buildForm(FormBuilderInterface $builder, array $options) | ||
| 19 | + { | ||
| 20 | + //que solo salga la seccion que estamos planificando | ||
| 21 | + $this->seccion = $options['seccion']; | ||
| 22 | + //que solo salgan los temas que no han sido planificados de esa seccion | ||
| 23 | + $this->planificacion = $options['planificacion']; | ||
| 24 | + if (!$this->planificacion){ | ||
| 25 | + $this->planes[] = 0; | ||
| 26 | + }else{ | ||
| 27 | + foreach ($this->planificacion as $p){ | ||
| 28 | + $this->planes[] = $p->getIdtemaUc()->getId(); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + } | ||
| 32 | + //var_dump($this->seccion); exit; | ||
| 33 | + $builder | ||
| 34 | + | ||
| 35 | + ->add('idtemaUc', EntityType::class, array( | ||
| 36 | + 'class' => 'AppBundle:UnidadCurricularVolumenTema', | ||
| 37 | + 'multiple' => false, | ||
| 38 | + 'expanded' => false, | ||
| 39 | + 'disabled' => true, | ||
| 40 | + 'query_builder' => function (EntityRepository $er) { | ||
| 41 | + return $er->createQueryBuilder('u') | ||
| 42 | + ->orderBy('u.orden', 'ASC') | ||
| 43 | + ->where('u.id not in (:query)') //que las uc conicidan con la malla del estado academico | ||
| 44 | + ->andWhere('u.idUnidadCurricularVolumen = ?1 ') | ||
| 45 | + ->setParameters(array( | ||
| 46 | + 'query' => $this->planes, | ||
| 47 | + 1 => $this->seccion->getOfertaAcademica()->getIdMallaCurricularUc()->getIdUnidadCurricularVolumen()->getId() | ||
| 48 | + )); | ||
| 49 | + ;}, | ||
| 50 | + | ||
| 51 | + )) | ||
| 52 | + ->add('seccion', EntityType::class, array( | ||
| 53 | + 'class' => 'AppBundle:Seccion', | ||
| 54 | + 'disabled' => true, | ||
| 55 | + 'query_builder' => function (EntityRepository $er) { | ||
| 56 | + return $er->createQueryBuilder('u') | ||
| 57 | + ->where('u.id = ?1') //que las uc conicidan con la malla del estado academico | ||
| 58 | + ->setParameters(array( | ||
| 59 | + 1 => $this->seccion->getId(), | ||
| 60 | + )); | ||
| 61 | + ;}, | ||
| 62 | + )) | ||
| 63 | + ->add('objetivoEspecifico', CollectionType::class, array( | ||
| 64 | + 'entry_type' => PlanificacionSeccionEspecificoType::class, | ||
| 65 | + 'allow_add' => false, | ||
| 66 | + 'label' => false, | ||
| 67 | + 'disabled' => true, | ||
| 68 | + )) | ||
| 69 | + | ||
| 70 | + ->add('contenido', CollectionType::class, array( | ||
| 71 | + 'entry_type' => PlanificacionSeccionContenidoType::class, | ||
| 72 | + 'allow_add' => true, | ||
| 73 | + 'label' => false, | ||
| 74 | + 'disabled' => true, | ||
| 75 | + )) | ||
| 76 | + | ||
| 77 | + ->add('estrategia', CollectionType::class, array( | ||
| 78 | + 'entry_type' => PlanificacionSeccionEstrategiaType::class, | ||
| 79 | + 'allow_add' => true, | ||
| 80 | + 'label' => false, | ||
| 81 | + 'disabled' => true, | ||
| 82 | + )) | ||
| 83 | + | ||
| 84 | + ->add('evaluacion', CollectionType::class, array( | ||
| 85 | + 'entry_type' => PlanificacionSeccionEvaluacionType::class, | ||
| 86 | + 'allow_add' => true, | ||
| 87 | + 'label' => false, | ||
| 88 | + 'disabled' => true, | ||
| 89 | + )) | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + ; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + /** | ||
| 96 | + * @param OptionsResolver $resolver | ||
| 97 | + */ | ||
| 98 | + public function configureOptions(OptionsResolver $resolver) | ||
| 99 | + { | ||
| 100 | + $resolver->setDefaults(array( | ||
| 101 | + 'data_class' => 'AppBundle\Entity\PlanificacionSeccion', | ||
| 102 | + 'seccion' => null, | ||
| 103 | + 'planificacion' => null, | ||
| 104 | + )); | ||
| 105 | + } | ||
| 106 | +} |