postulantes.jsp 6.02 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 25 26 27 28 29 30 31 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
       <form name="buscador">
         <label for="nombre">Nombre</label>
        <input type="text" name="nombre" id="nombre" value="${param.nombre}">
        <button>Buscar</button>
        <br>
          <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>
Joel Florentin committed
69
          
70
       </form>
Joel Florentin committed
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
    </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>
          </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>
90
                    <td>${postulante.experienciaMeses}</td>
Joel Florentin committed
91 92
                    <td>
                        <c:forEach items="${postulante.tecnologias}" var="detalle_tecnologia" varStatus="staTec">
93
                            ${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
Joel Florentin committed
94 95
                        </c:forEach>
                    </td>
96
                    <td><a href="/postulante/${postulante.id}">Ver</a></td>
97
                </tr>
Joel Florentin committed
98
            </c:forEach>
99
          </tbody>
Joel Florentin committed
100

101
    </table>
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
    <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>
136
    
Joel Florentin committed
137 138
</body>
</html>