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 | 79 | {% if inscritas.getIdSeccion.getPlanificacion | length > 0 %} |
| 80 | 80 | <ol> |
| 81 | 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 | 83 | {% endfor %} |
| 84 | 84 | </ol> |
| 85 | 85 | {% else %} | ... | ... |
app/Resources/views/planificacionseccion/estudiante_show.html.twig
| ... | ... | @@ -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 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; |
| 8 | 8 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
| 9 | 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 | 78 | /** |
| 79 | 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 | 82 | * @Method("GET") |
| 83 | 83 | */ |
| 84 | 84 | public function showAction(Inscripcion $inscripcion) |
| ... | ... | @@ -90,6 +90,28 @@ class InscripcionController extends Controller |
| 90 | 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 | 117 | * Displays a form to edit an existing Inscripcion entity. | ... | ... |
src/AppBundle/Form/PlanificacionSeccionShowType.php
| ... | ... | @@ -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 | +} | ... | ... |