postulantes.jsp 6.86 KB
Newer Older
Joel Florentin committed
1 2 3 4 5 6 7 8 9 10 11 12 13
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    <title>Lista de postulantes</title>
</head>
14 15 16 17 18
<body>
  <jsp:include page="header.jsp"/>
  <jsp:include page="alerts.jsp"/>
  <div class="container-xxl my-md-4 bd-layout">
    <h2>Lista de Postulantes</h2>
Joel Florentin committed
19
    <div id="buscador">
20 21 22 23 24
       <form name="buscador">
         <label for="nombre">Nombre</label>
        <input type="text" name="nombre" id="nombre" value="${param.nombre}">
        <button>Buscar</button>
        <br>
25 26 27 28 29 30 31
          <label for="estado">Estado</label>
          <select name="estado" id="estado">
            <option value="">Seleccione una opcion</option>
            <c:forEach items="${estadoP}" var="estados">
              <option value="${estados}" ${param.estado == estados ? "selected" : ""}>${estados.getEstado()}</option>
            </c:forEach>
          </select>
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
          <label for="dispo">Disponbilidad</label>
          <select name="dispo" id="dispo">
            <option value="">Seleccione una opcion</option>
            <c:forEach items="${disponibilidades}" var="disponibilidad">
              <option value="${disponibilidad}" ${param.dispo == disponibilidad ? "selected" : ""}>${disponibilidad.getDescripcion()}</option>
            </c:forEach>
          </select>
          <label for="tecId">Tecnologias</label>
          <select name="tecId" id="tecId">
            <option value="">Seleccione una opcion</option>
            <c:forEach items="${tecnologias}" var="tecnologia">
              <option value="${tecnologia.id}" ${param.tecId == tecnologia.id ? "selected" : ""}>${tecnologia.nombre}</option>
            </c:forEach>
          </select>
          <label for="instId">Institucion Educativa</label>
          <select name="instId" id="instId">
            <option value="">Seleccione una opcion</option>
            <c:forEach items="${institucionesEducativas}" var="inst">
              <option value="${inst.id}" ${param.instId == inst.id ? "selected" : ""}>${inst.nombre}</option>
            </c:forEach>
          </select>
          <br>
          <label for="lvlEng">Nivel de Ingles</label>
          <select name="lvlEng" id="lvlEng">
            <option value="">Seleccione una opcion</option>
            <c:forEach var = "lvl" begin = "1" end = "5">
              <option value="${lvl}" ${param.lvlEng == lvl ? "selected" : ""}>${lvl}</option>
            </c:forEach>
          </select>
          <label for="lvlTec">Nivel de Tecnologia</label>
          <select name="lvlTec" id="lvlTec">
            <option value="">Seleccione una opcion</option>
            <c:forEach var = "lvl" begin = "1" end = "5">
              <option value="${lvl}" ${param.lvlTec == lvl ? "selected" : ""}>${lvl}</option>
            </c:forEach>
          </select>
          <label for="expInMonths">Experiencia en general</label>
          <select name="expInMonths" id="expInMonths">
            <option value="">Seleccione una opcion</option>
            <option value="6">Mayor a 6 meses</option>
            <option value="12">Mayor a 1 año</option>
            <option value="36">Mayor a 3 años</option>
            <option value="60">Mayor a 5 años</option>
          </select>
76 77 78 79 80 81 82
         <label for="convId">convocatoria</label>
          <select name="convId" id="convId">
            <option value="">Seleccione una opcion</option>
            <c:forEach items="${convocatoriaC}" var="convo">
              <option value="${convo.id}" ${param.convId == convo.id ? "selected" : ""}>${convo.getCargo().getNombre()}</option>
            </c:forEach>
          </select>
Joel Florentin committed
83
          
84
       </form>
Joel Florentin committed
85 86 87 88 89 90 91 92 93 94
    </div>
    <table class="table">
        <thead>
          <tr>
            <th scope="col">#</th>
            <th scope="col">Nombre</th>
            <th scope="col">Disponibilidad</th>
            <th scope="col">Nivel de Ingles</th>
            <th scope="col">Experiencia</th>
            <th scope="col">Tecnologias</th>
95
            <th scope="col">Estado</th>
Joel Florentin committed
96 97 98 99 100 101 102 103 104
          </tr>
        </thead>
        <tbody>
            <c:forEach items="${postulantes}" var="postulante" varStatus="staPost">
                <tr>
                    <th scope="row">${staPost.index + 1}</th>
                    <td>${postulante.nombre} ${postulante.apellido}</td>
                    <td>${postulante.disponibilidad.getDescripcion()}</td>
                    <td>${postulante.nivelIngles}</td>
105
                    <td>${postulante.experienciaMeses}<op></td>
Joel Florentin committed
106 107
                    <td>
                        <c:forEach items="${postulante.tecnologias}" var="detalle_tecnologia" varStatus="staTec">
108
                            ${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
Joel Florentin committed
109 110
                        </c:forEach>
                    </td>
111
                    <td>${postulante.estado.getEstado()}</td>
112
                    <td><a href="/postulante/${postulante.id}">Ver</a></td>
113
                </tr>
Joel Florentin committed
114
            </c:forEach>
115
          </tbody>
Joel Florentin committed
116

117
    </table>
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
    <div>
      <nav aria-label="Page navigation example">
        <ul class="pagination">
          <c:forEach begin="1" end="${pages}" var="nro">
            <li class="page-item ${(param.nroPagina == null and nro == 1)  or param.nroPagina == nro-1 ? 'active' : ''}"><a class="page-link" href="javascript:buscarPagina(${nro})">${nro}</a></li>
          </c:forEach>
        </ul>
      </nav>
    </div>
  </div>
  <script>
    function habilitarLvlTec(){
      //si se selecciono una tecnologia entonces permitir seleccionar un nivel
      lvlTec.disabled = tecId.value == false
      if(lvlTec.disabled){
        lvlTec.firstElementChild.selected=true;
      }
      
    }
    function buscarPagina(nro){
      nro--
      const aBuscar = 'nroPagina='+nro
      if(!location.search) location.search = "?"+aBuscar
      const inicial = location.search.search(aBuscar);
      if(inicial==-1){//si no se encuentra y hay otros queries
        location.search = "&"+aBuscar
      }
      location.search.replace('nroPagina=',aBuscar)
    }
    const tecId = document.querySelector("#tecId");
    const lvlTec = document.querySelector("#lvlTec");
    tecId.addEventListener('change',habilitarLvlTec);
    habilitarLvlTec()
  </script>
152
    
Joel Florentin committed
153 154
</body>
</html>