Commit 5e5022702ba6fb822bb71dd572a9873b8bb6cd2c

Authored by Wilmer
1 parent 0505ef2c6b
Exists in master

crea el acta de defensa

app/Resources/views/base_acta.html.twig
... ... @@ -0,0 +1,201 @@
  1 +<!DOCTYPE html>
  2 +<html>
  3 + <head>
  4 + <meta charset="UTF-8" />
  5 + <title>{% block title %}CEA | UBV!{% endblock %}</title>
  6 + {% block stylesheets %}
  7 + <link rel="stylesheet" href="{{ asset('assets/vendor/bootstrap/dist/css/bootstrap.min.css') }}">
  8 + <link rel="stylesheet" href="{{ asset('assets/vendor/font-awesome/css/font-awesome.min.css') }}">
  9 + <style>
  10 + p{
  11 + padding: 0;
  12 + margin: 0;
  13 + }
  14 +
  15 +
  16 + .cuerpo-memo{
  17 + line-height: 33px;
  18 + text-indent: 30px;
  19 + padding: 10px;
  20 + }
  21 +
  22 + header p{
  23 + font-size: 12px;
  24 + }
  25 +
  26 + .firma{
  27 + margin-top: 60px;
  28 + }
  29 + .firma p{
  30 +
  31 + font-size: 10px;
  32 + }
  33 +
  34 + footer{
  35 + margin-top:20px;
  36 + }
  37 +
  38 + footer p{
  39 + font-size: 10px;
  40 + }
  41 + </style>
  42 + {% endblock %}
  43 + <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
  44 + </head>
  45 + <body >
  46 + <div class="container">
  47 + {% block encabezado %}
  48 +
  49 + <header>
  50 + <table>
  51 + <tr>
  52 + <td>
  53 + <div >
  54 + <img width="50%" src="{{ asset('bundles/framework/images/portal/logo_ubv.png')}}" />
  55 + </div>
  56 + </td>
  57 + <td >
  58 + <div class="text-center">
  59 + <p>República Bolivariana de Venezuela</p>
  60 + <p>Ministerio para el Poder Popular de la Educación Universitaria</p>
  61 + <p>Universidad Bolivariana de Venezuela</p>
  62 + <p>Rectorado</p>
  63 + <p>Dirección General de Apoyo Socio Administrativo</p>
  64 + <p>Centro de Estudios Ambientales</p>
  65 + </div>
  66 + </td>
  67 + </tr>
  68 + </table>
  69 + </header>
  70 +
  71 + {% endblock %}
  72 +
  73 +
  74 + <div class="row">
  75 + <div class="text-center"><br><br>
  76 + <p><strong>ACTA DE ASCENSO A LA CATEGORÍA ACADÉMICA</strong></p>
  77 + <p><strong>INFORME DE PERTINENCIA DE TRABAJO ESPECIAL DE GRADO O INVESTIGACIÓN</strong></p>
  78 + </div>
  79 + </div>
  80 +
  81 + {%block cuerpo %}
  82 + <div class="cuerpo-memo">
  83 + <p class="text-justify">
  84 + Quienes suscriben: (Nombres, Apellidos, Nº Cédula de Identidad y Categoría Académica)</p>
  85 + <table class="table table-condensed tabler-bordered">
  86 + {% block jurados %} {% endblock %}
  87 + </table>
  88 +
  89 + <p>
  90 + Miembros del Comité Académico designado por el Consejo Universitario de la Universidad Bolivariana de
  91 + Venezuela conforme a la Resolución N° {% block resolucion %}{% endblock %}, para valorar,
  92 + CONTEXTUALIZACIÓN, PRESENTACIÓN Y ARTICULACIÓN DEL Trabajo de Ascenso presentado por la
  93 + Profesora: {% block docente %} {% endblock %} bajo la Modalidad de {% block modalidad1 %} {% endblock %}
  94 + a los fines de su Ascenso en el Escalafón Universitario a la Categoría de {% block categoria1 %}{% endblock %}
  95 + dejan constancia de lo siguiente:
  96 + </p>
  97 + <ol>
  98 + <li>
  99 + Actuó como Coordinador(a) del Comité Académico el (la) Profesor(a) {% block presidente %}{% endblock %}
  100 + </li>
  101 +
  102 + <li>
  103 + Se revisó, por cada uno de los Miembros del Comité Académico, el Trabajo de
  104 + Investigación como Trabajo de Ascenso, titulado: {% block titulo %}{% endblock %}
  105 + </li>
  106 +
  107 + <li>
  108 + Reunidos el día 03 de abril de 2017, en Sede: {% block eje %}{% endblock %}, UBV, a las _______,
  109 + se dio lugar la instalación del Acto Académico Público a fin de proceder a la presentación con
  110 + el/la autor(a) y el Comité Académico de conformidad con lo establecido en la Ley de Universidades
  111 + y el Reglamento Interno de la Universidad Bolivariana de Venezuela para los/as Trabajadores/as
  112 + Académicos/as a optar a la Categoría de profesores/as: {% block categoria2 %}{% endblock %}
  113 + </li>
  114 +
  115 + <li>
  116 + Finalizada la presentación, el comité académico procedió a deliberar y a elaborar el acta de
  117 + ascenso a Asistente correspondiente a la Modalidad de {% block modalidad2 %}{% endblock %}
  118 +
  119 + </li>
  120 +
  121 + <li>
  122 + Decisión: De conformidad con la Ley de Universidades y el Reglamento Interno de la
  123 + Universidad Bolivariana de Venezuela para los/as Trabajadores/as Académicos/as a
  124 + optar a la Categoría de profesores/as: {% block categoria3 %}{% endblock %} se acordó
  125 + por: _____________ la decisión de: __________ el Trabajo de Investigación.
  126 + <p>Por considerar: _______________________________________________________________________________________
  127 + _______________________________________________________________________________________
  128 + __________________________________________________________________________________</p>
  129 + </li>
  130 +
  131 + <li>
  132 + Observación (Si fuere el caso): ________________________________________________________
  133 + </li>
  134 +
  135 + <li>
  136 + Mención Publicación (Si fuere el caso): _________________________________________________________
  137 + _________________________________________________________________________________________________
  138 + _________________________________________________________________________________________________
  139 + </li>
  140 + </ol>
  141 +
  142 +
  143 + <p>
  144 + En fe de lo cual se levanta la presente Acta, en Guanadito a los tres (03) días del mes de Abril de 2017.
  145 + </p>
  146 +
  147 +
  148 +
  149 +
  150 +</div>
  151 + {% endblock %}
  152 +
  153 + <div class="text-center firma">
  154 +<br><br><br><br>
  155 + <table class="table table-condensed tabler-bordered">
  156 + {% block firmas %}{% endblock %}
  157 + </table>
  158 +
  159 + </div>
  160 +
  161 + {% block pie %}
  162 +
  163 +<footer>
  164 + <div class="row ">
  165 +
  166 + <div class="col-xs-10 text-right">
  167 + <p>Av. Leonardo Da Vinci</p>
  168 + <p>Edif. Universidad Bolivariana de Venezuela</p>
  169 + <p>Piso 8. Los Chaguaramos</p>
  170 + <p>Telf. 0212- 606.3449</p>
  171 + <p>RIF. G - 20003773-3</p>
  172 + <p>www.ubv.edu.ve - @ubv</p>
  173 + <p class="text-center">"Sembramos Saberes Cosechamos Patria"</p>
  174 + </div>
  175 + <div class="col-xs-2 push-left">
  176 + <img width="80%" src="{{ asset('bundles/framework/images/memorando/logoJuventud.jpg')}}" />
  177 + </div>
  178 +
  179 +
  180 + </div>
  181 +
  182 +
  183 + </footer>
  184 + </div>
  185 +
  186 +
  187 + {% endblock %}
  188 +
  189 + </div><!-- Containter -->
  190 + {% block body %}
  191 +
  192 + {% block principal %} {% endblock %}
  193 +
  194 + {% endblock %}
  195 +
  196 + {% block javascripts %}
  197 + <script type="text/javascript" src="{{ asset('assets/vendor/jquery/dist/jquery.min.js') }}"></script>
  198 + <script type="text/javascript" src="{{ asset('assets/vendor/bootstrap/dist/js/bootstrap.min.js') }}" ></script>
  199 + {% endblock %}
  200 + </body>
  201 +</html>
... ...
app/Resources/views/cea/acta_defensa_mostar.html.twig
... ... @@ -101,7 +101,8 @@
101 101 </style>
102 102 {% endblock %}
103 103  
104   -{%block body %}
  104 +{%block body %}
  105 + <form action="{{ path('cea_acta_defensa_actualizar', { 'id': ascenso.id }) }}" method="POST">
105 106 {% set cantidadJurado = 6 %}
106 107 <div class="content-wrapper">
107 108 <div class="container">
... ... @@ -140,7 +141,7 @@
140 141  
141 142 {% if escalas is not null %}
142 143 <div class="form-group">
143   - <label for="Escalafones">{{ cantidadJurado }}Escalafones Obtenidos:</label>
  144 + <label for="Escalafones">Escalafones Obtenidos:</label>
144 145 <table class="table table-striped table-bordered">
145 146 <th>Escalafón</th>
146 147 <th>Fecha</th>
... ... @@ -153,10 +154,12 @@
153 154 <td>{{escala.idTipoEscala }}</td>
154 155 </tr>
155 156 {%endfor %}
156   - </table>
157   -
  157 + </table>
  158 +
158 159 <p><strong>Escalafón Solicita:</strong> {{ ascenso.idEscalafones.nombre }} </p>
159 160 {% set anadirJurado = false %}
  161 + {% set actualizado = false %}
  162 + {% set resolucion = "" %}
160 163 {% if (ascenso.tesisUbv or ascenso.tipoTrabajoInvestigacion == 'investigacion') %}
161 164 <h4>Jurados propuestos por el Docente</h4>
162 165 {% set anadirJurado = true %}
... ... @@ -173,13 +176,32 @@
173 176 <li id="well_{{tutor.id}}">
174 177  
175 178 <strong>{{ tutor.idTutor.nombres }} {{ tutor.idTutor.apellidos }}:</strong>
176   - {{ tutor.idTutor.institucion }} -> {{ tutor.idTutor.idEscala.nombre }}
177   - <input type="button" class="btn btn-warning btn-xs" value="act" id="actualizar_tutor">
178   - <input type="button" class="btn btn-danger btn-xs eliminar_jurado" value="X" id="{{ tutor.id }}">
  179 + {{ tutor.idTutor.institucion }} -> {{ tutor.idTutor.idEscala.nombre }}<br>
  180 + {% if tutor.idEstatusTutor == NULL %}
  181 + {% set actualizado = false %}
  182 + <input type="button" class="btn btn-warning btn-xs" value="act" id="actualizar_tutor">
  183 + <input type="button" class="btn btn-danger btn-xs eliminar_jurado" value="X" id="{{ tutor.id }}">
  184 + <input type="radio" name="jurado_{{ tutor.id }}" value="1" > Pdte.
  185 + <input type="radio" name="jurado_{{ tutor.id }}" value="2" > Ppal.
  186 + <input type="radio" name="jurado_{{ tutor.id }}" value="3" > Supl.
  187 + {% else %}
  188 + {% set actualizado = true %}
  189 + {% set resolucion = tutor.resolucion %}
  190 + {% if tutor.idEstatusTutor.id == 1 %} Jurado Presidente {% endif %}
  191 + {% if tutor.idEstatusTutor.id == 2 %} Jurado Principal {% endif %}
  192 + {% if tutor.idEstatusTutor.id == 3 %} Jurado Suplente {% endif %}
  193 + {% endif %}
179 194 </li>
180   -
181 195 {% endfor %}
  196 +
  197 +
182 198 </ul>
  199 + {% if actualizado == false %}
  200 + <label for="resolucion">Resolución Jurados:</label>
  201 + <input type="text" placeholder="Numero de Resolución..." name="resolucion" id="resolucion" >
  202 + {% else %}
  203 + <p>Aprobados Bajo Resolución N°: <strong>{{ resolucion }}</strong></p>
  204 + {% endif %}
183 205 </div>
184 206 {% endif %}
185 207 {% if anadirJurado and ascenso.idEstatus.id == 2 %}
... ... @@ -233,7 +255,7 @@
233 255  
234 256 </div>
235 257 </div>
236   - <form action="{{ path('cea_ascenso_actualizar', { 'id': ascenso.id }) }}" method="POST">
  258 +
237 259 <div class="col-md-5">
238 260 <h3>Documentos Consignados</h3>
239 261 <div class="widget-content">
... ... @@ -465,8 +487,8 @@
465 487  
466 488 if (buttonpressed == "aprobado") {
467 489 for (var i = 0; i < $(':radio:checked', this).length; i++) {
468   - console.log($(':radio:checked', this)[i]);
469   - if (($(':radio:checked', this)[i].value == "3")) {
  490 + console.log($(':radio:checked', this)[i].name);
  491 + if (($(':radio:checked', this)[i].value == "3") && (!$(':radio:checked', this)[i].name.include("jurado"))) {
470 492 alert('No puedes aprobar una solicitud con documentos en estatus de rechazado');
471 493 $("#aprobado").button('reset');
472 494 return false;
... ...
app/Resources/views/memorando/acta_defensa.html.twig
... ... @@ -0,0 +1,66 @@
  1 +{% extends 'base_acta.html.twig' %}
  2 +
  3 +
  4 + {% block jurados %}
  5 + <th>Nombres y Apellidos</th>
  6 + <th>Cédula Identidad</th>
  7 + <th>Categoría</th>
  8 + {% for jurado in jurados %}
  9 + <tr>
  10 + <td>{{ jurado.idTutor.nombres }}</td>
  11 + <td>{{ jurado.idTutor.cedulaPasaporte }}</td>
  12 + <td>{{ jurado.idTutor.idEscala.nombre }}</td>
  13 + </tr>
  14 +
  15 + {% endfor %}
  16 +
  17 + {% endblock %}
  18 +
  19 + {% block resolucion %}
  20 + {{ resolucion }}
  21 + {% endblock %}
  22 +
  23 + {% block presidente %}
  24 + {{ presidente.idTutor.nombres }} {{ presidente.idTutor.apellidos }} {{ presidente.idTutor.cedulaPasaporte }}
  25 + {% endblock %}
  26 +
  27 + {% block titulo %}
  28 + {{ ascenso.tituloTrabajo }}
  29 + {% endblock %}
  30 +
  31 + {% block categoria1 %}
  32 + {{ categoria }}
  33 + {% endblock %}
  34 + {% block categoria2 %}
  35 + {{ categoria }}
  36 + {% endblock %}
  37 + {% block categoria3 %}
  38 + {{ categoria }}
  39 + {% endblock %}
  40 +
  41 + {% block modalidad1 %}
  42 + {{ ascenso.tipoTrabajoInvestigacion }}
  43 + {% endblock %}
  44 +
  45 + {% block modalidad2 %}
  46 + {{ ascenso.tipoTrabajoInvestigacion }}
  47 + {% endblock %}
  48 +
  49 + {% block firmas %}
  50 + <tr>
  51 + {% for jurado in jurados %}
  52 + <td> {{ jurado.idTutor.cedulaPasaporte }} <br><br></td>
  53 + {% endfor %}
  54 + </tr>
  55 + {% endblock %}
  56 +
  57 + {%block javascripts %}
  58 + {{ parent() }}
  59 + <script type="text/javascript">
  60 +
  61 + window.onload = function () {
  62 + window.print(); //invoca la impresora tan pronto se carga el documento
  63 + setTimeout(function () { window.close(); }, 100); //cierra la venta si cierra el dialog de imprimir
  64 + }
  65 +</script>
  66 + {% endblock %}
... ...
app/Resources/views/solicitudes/index.html.twig
... ... @@ -64,6 +64,12 @@
64 64 {% if servicio.idServicioCe.id == 6 %}
65 65 <a href="{{ path('adscripcion_show', { 'id': servicio.id }) }}" class="btn btn-xs btn-info"><i class="fa fa-eye"> </i></a>
66 66 {% endif %}
  67 +
  68 + {% if servicio.idServicioCe.id == 7 %}
  69 + {% if servicio.idEstatus.id == 1 %}
  70 + <a href="{{ path('servicio_defensa_imprimir', { 'id': servicio.id }) }}" target="_blank" class="btn btn-xs btn-info"><i class="fa fa-print"> </i></a>
  71 + {% endif %}
  72 + {%endif%}
67 73 </td>
68 74 </tr>
69 75 {% endfor %}
... ...
src/AppBundle/Controller/AscensoController.php
... ... @@ -506,16 +506,17 @@ class AscensoController extends Controller
506 506 }
507 507  
508 508  
509   - $solicitudAscenso = $this->getDoctrine()->getRepository('AppBundle:Ascenso')->findOneBy(
  509 + $solicitudDefensa = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')->findOneBy(
510 510 array(
511 511 'idRolInstitucion' => $this->getUser()->getIdRolInstitucion(),
512   - 'idEstatus' => 1
513   - )
  512 + 'idServicioCe' => 7
  513 + ),
  514 + array('id' => 'DESC')
514 515 );
515 516  
516 517  
517   - if(!$solicitudAscenso){
518   - $this->addFlash('danger', 'Estimado Docente, No posee ninguna solicitud de Ascenso Activa.');
  518 + if($solicitudDefensa->getIdEstatus()->getId() == 1 || $solicitudDefensa->getIdEstatus()->getId() == 2 ){
  519 + $this->addFlash('warning', 'Estimado Docente, Ya posee una solicitud Activa.');
519 520 return $this->redirect($this->generateUrl('cea_index'));
520 521 }
521 522  
... ... @@ -560,7 +561,7 @@ class AscensoController extends Controller
560 561 'solicitudes/acta_defensa.html.twig',
561 562 array(
562 563 'form' => $form->createView(),
563   - 'tipo' => 'Ascenso ' . $solicitudAscenso->getIdEscalafones()->getNombre()
  564 + 'tipo' => 'Ascenso ' . $solicitudDefensa->getIdEscalafones()->getNombre()
564 565 )
565 566 );
566 567  
... ... @@ -891,6 +892,87 @@ class AscensoController extends Controller
891 892 return $this->redirect($this->generateUrl('cea_ascenso_show', array('id' => $serviciosAscenso->getId())));
892 893  
893 894 }
  895 +
  896 +
  897 +
  898 + /**
  899 + * Encuentra y muestra una entidad de tipo Adscripción.
  900 + *
  901 + * @Route("/solicitudes/acta_defensa_edit/{id}", name="cea_acta_defensa_actualizar")
  902 + * @Method({"GET", "POST"})
  903 + * @Security("has_role('ROLE_COORDINADOR_REGIONAL')")
  904 + */
  905 + public function actaDefensaEditAction(Ascenso $ascenso, Request $request)
  906 + {
  907 + $mensaje = "";
  908 + //$adscripciones = $this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findOneById($adscripcion->getId());
  909 + $servicioDefensa = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')->findOneBy(array(
  910 + 'idRolInstitucion' => $ascenso->getIdRolInstitucion(),
  911 + 'idServicioCe' => 7,
  912 + 'idEstatus' => 2
  913 + ));
  914 +
  915 + $parametros = $request->request->all();
  916 + $resolucion = $parametros["resolucion"];
  917 +
  918 + $user = $this->getDoctrine()->getRepository('AppBundle:Usuarios')->findOneByIdRolInstitucion($ascenso->getIdRolInstitucion());
  919 +
  920 + if(isset($parametros['aprobado'])) {
  921 + $servicioDefensa->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:Estatus')->findOneById(1));
  922 +
  923 + }else{
  924 + $mensaje = $request->request->get('message-text');
  925 + $servicioDefensa->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:Estatus')->findOneById(3));
  926 + }
  927 +
  928 + $em = $this->getDoctrine()->getManager();
  929 +
  930 +
  931 + //Guardar el resultado de la verificación de Documentos
  932 + foreach ($parametros as $key => $value){
  933 + if($key === 'defensa') {
  934 + verificar_documentos2($user->getIdRolInstitucion(), 17, $value, $em, "", $servicioDefensa);
  935 + }
  936 + if (strpos($key, "jurado") !== false) {
  937 + $jur = explode("_", $key);
  938 + $actualizar = $this->getDoctrine()->getRepository("AppBundle:AscensoTutores")->findOneById($jur[1]);
  939 + $estatusTutor = $this->getDoctrine()->getRepository("AppBundle:EstatusTutor")->findOneById($value);
  940 + $actualizar->setIdEstatusTutor($estatusTutor);
  941 + $actualizar->setResolucion($resolucion);
  942 + $actualizar->setIdEstatus($this->getDoctrine()->getRepository("AppBundle:Estatus")->findOneById(1));
  943 + $em->persist($actualizar);
  944 + $em->flush();
  945 +
  946 + }
  947 + }
  948 + $em->persist($servicioDefensa);
  949 + $em->flush();
  950 +
  951 + $message = \Swift_Message::newInstance()
  952 + ->setSubject('Resultado Acta de defensa CEA@UBV')
  953 + ->setFrom('wilmer.ramones@gmail.com')
  954 + ->setTo($user->getEmail())
  955 + ->setBody(
  956 + $this->renderView(
  957 + 'correos/actualizar_ascenso.html.twig',
  958 + array(
  959 + 'nombres' => $user->getIdRolInstitucion()->getIdRol()->getIdPersona()->getPrimerNombre(),
  960 + 'apellidos' => $user->getIdRolInstitucion()->getIdRol()->getIdPersona()->getPrimerApellido(),
  961 + 'estatus' => $servicioDefensa->getIdEstatus(),
  962 + 'mensaje' => $mensaje
  963 + )
  964 + ),
  965 + 'text/html'
  966 + )
  967 + ;
  968 + $this->get('mailer')->send($message);
  969 +
  970 + $this->addFlash('notice', 'Solicitud Actualizada Correctamente, hemos enviado un correo al docente notificandole los cambios.');
  971 +
  972 +
  973 + return $this->redirect($this->generateUrl('cea_acta_defensa_show', array('id' => $servicioDefensa->getId())));
  974 +
  975 + }
894 976  
895 977  
896 978  
... ... @@ -972,6 +1054,70 @@ class AscensoController extends Controller
972 1054  
973 1055  
974 1056 }
  1057 +
  1058 +
  1059 +
  1060 + /**
  1061 + * Muestra la página donde explica brevemente el reconocimiento de Antiguedad
  1062 + * y permite realizar la solicitud
  1063 + *
  1064 + * @Route("/mis_servicios/acta_defensa/imprimir/{id}", name="servicio_defensa_imprimir")
  1065 + * @Method({"GET", "POST"})
  1066 + */
  1067 + public function serviciosDefensaImprimirAction(DocenteServicio $servicio){
  1068 +
  1069 +
  1070 + if ($servicio->getIdEstatus()->getId() == 1){
  1071 +
  1072 +
  1073 + $ascenso = $this->getDoctrine()->getRepository('AppBundle:Ascenso')->findOneByIdRolInstitucion($servicio->getIdRolInstitucion());
  1074 + $eje = $ascenso->getIdRolInstitucion()->getIdInstitucion()->getIdEjeParroquia()->getIdEje()->getAbreviacion();
  1075 + $tutores = $ascenso->getTutores();
  1076 + $resolucion = $tutores[0]->getResolucion();
  1077 +
  1078 + $escala = $this->getDoctrine()->getRepository('AppBundle:DocenteEscala')->findOneBy(
  1079 + array('idRolInstitucion' => $this->getUser()->getIdRolInstitucion()),
  1080 + array('id' => 'DESC')
  1081 + );
  1082 +
  1083 + if(!$escala){
  1084 + $this->addFlash('danger', 'Estimado Docente, todavia no ha concursado, debe concursar primero para poder realizar una solicitud de ascenso.');
  1085 + return $this->redirect($this->generateUrl('cea_index'));
  1086 + }
  1087 +
  1088 + $escalafones = $this->getDoctrine()->getRepository("AppBundle:Escalafones")->findOneById($escala->getIdEscala()->getId() + 1); //tiempo para el proximo escalafon
  1089 + foreach ($tutores as $tutor) {
  1090 + if ($tutor->getIdEstatusTutor()->getId() == 1){
  1091 + $presidente = $tutor;
  1092 + }
  1093 +
  1094 + }
  1095 +
  1096 + return $this->render('memorando/acta_defensa.html.twig', array(
  1097 + 'ascenso' => $ascenso,
  1098 + 'eje' => $eje,
  1099 + 'resolucion' => $resolucion,
  1100 + 'presidente' => $presidente,
  1101 + 'categoria' => $escalafones,
  1102 + 'jurados' => $tutores
  1103 + ));
  1104 +
  1105 + }else{
  1106 + $this->addFlash('danger', 'No Puede Imprimir el reconocimiento de Adscripcion hasta que esté aprobado por el coordinador del CEA.');
  1107 +
  1108 + $servicios = $this->getDoctrine()->getRepository('AppBundle:DocenteServicio')->findByIdRolInstitucion($this->getUser()->getIdRolInstitucion());
  1109 + $adscripcion = $this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findByIdRolInstitucion($this->getUser()->getIdRolInstitucion());
  1110 +
  1111 +
  1112 + return $this->render('solicitudes/index.html.twig', array(
  1113 + 'servicios' => $servicios,
  1114 + 'adscripcion' => $adscripcion
  1115 + ));
  1116 + }
  1117 +
  1118 +
  1119 + }
  1120 +
975 1121  
976 1122  
977 1123  
... ...
src/AppBundle/Entity/Ascenso.php
... ... @@ -49,16 +49,14 @@ class Ascenso
49 49 */
50 50 protected $idEscalafones;
51 51  
  52 +
  53 +
52 54 /**
53 55 * @ORM\OneToMany(targetEntity="AppBundle\Entity\AscensoTutores", mappedBy="idAscenso")
54 56 */
55 57 private $tutores;
56   -
57 58  
58 59  
59   -
60   -
61   -
62 60 /**
63 61 * @ORM\Column(name="nombre_nucleo", type="string", nullable=true, options={"comment" = "Nombre del núcleo de investigación"})
64 62 * @Assert\NotBlank(message="El nombre del núcleo de investigación es obligatorio.")
... ...
src/AppBundle/Entity/AscensoTutores.php
... ... @@ -54,6 +54,11 @@ class AscensoTutores
54 54 */
55 55 protected $idTutor;
56 56  
  57 + /**
  58 + * @ORM\Column(name="resolucion", type="string", nullable=true, options={"comment" = "resolucion aprobación de Jurado"})
  59 + */
  60 + private $resolucion;
  61 +
57 62  
58 63  
59 64 /**
... ... @@ -182,4 +187,27 @@ class AscensoTutores
182 187 {
183 188 return $this->idEstatus;
184 189 }
  190 +
  191 + /**
  192 + * Set resolucion
  193 + *
  194 + * @param string $resolucion
  195 + * @return AscensoTutores
  196 + */
  197 + public function setResolucion($resolucion)
  198 + {
  199 + $this->resolucion = $resolucion;
  200 +
  201 + return $this;
  202 + }
  203 +
  204 + /**
  205 + * Get resolucion
  206 + *
  207 + * @return string
  208 + */
  209 + public function getResolucion()
  210 + {
  211 + return $this->resolucion;
  212 + }
185 213 }
... ...