diff --git a/curriculumsearch/src/main/java/com/roshka/configuration/WebSecurityConfig.java b/curriculumsearch/src/main/java/com/roshka/configuration/WebSecurityConfig.java index bc82739..219922f 100644 --- a/curriculumsearch/src/main/java/com/roshka/configuration/WebSecurityConfig.java +++ b/curriculumsearch/src/main/java/com/roshka/configuration/WebSecurityConfig.java @@ -56,6 +56,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .mvcMatchers("/tecnologia*").authenticated() .mvcMatchers("/postulantes","/postulantes/**").authenticated() .mvcMatchers("/edit-user-data").authenticated() + .mvcMatchers("/postulantesExcel*").authenticated() .anyRequest().permitAll() .and() .formLogin() diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java index f6be2d0..35ba87e 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java @@ -189,7 +189,7 @@ public class PostulanteRRHHController { response.setHeader(headerKey, headerValue); HashMap filtros = new HashMap(); - filtros.put("nombre", nombre.equals("") ? "-":nombre); + filtros.put("nombre", nombre == null ? "-":nombre); filtros.put("nivelIngles", lvlEng == null ? "-" : lvlEng.toString()); filtros.put("tecnologia", tecId == null ? "-" : tecRepo.findById(tecId).get().getNombre()); filtros.put("nivelTecnologia", lvlTec == null ? "-" : lvlTec.toString()); @@ -197,6 +197,7 @@ public class PostulanteRRHHController { filtros.put("estado", estado == null ? "-" : estado.getEstado()); filtros.put("experienciaEnMeses", expInMonths == null ? "-" : expInMonths.toString()); filtros.put("convocatoria", convId == null ? "-" : cargoRepo.findById(convId).get().getCargo().getNombre()); + filtros.put("convocatoriaFecha", convId == null ? "-" : cargoRepo.findById(convId).get().getFechaInicio().toString()); PostulantesExcelExporter excelExporter = new PostulantesExcelExporter(postulantesDTO, filtros); diff --git a/curriculumsearch/src/main/java/com/roshka/utils/PostulantesExcelExporter.java b/curriculumsearch/src/main/java/com/roshka/utils/PostulantesExcelExporter.java index 4fe21e4..d765f6a 100644 --- a/curriculumsearch/src/main/java/com/roshka/utils/PostulantesExcelExporter.java +++ b/curriculumsearch/src/main/java/com/roshka/utils/PostulantesExcelExporter.java @@ -59,34 +59,16 @@ public class PostulantesExcelExporter { createCell(row, 5, "Institucion", style); createCell(row, 6, "Estado", style); createCell(row, 7, "Convocatoria", style); + createCell(row, 8, "Fecha Inicio Convocatoria", style); row = sheet.createRow(6); - style = workbook.createCellStyle(); - font = workbook.createFont(); - font.setBold(true); - font.setFontHeight(14); - style.setFont(font); - createCell(row, 0, "Nombre", style); createCell(row, 1, "Nivel de Ingles", style); createCell(row, 2, "Experiencia", style); createCell(row, 3, "Tecnologias", style); createCell(row, 4, "Estado", style); - row = sheet.createRow(4); - font.setBold(false); - font.setFontHeight(12); - style.setFont(font); - createCell(row, 0, filtros.get("nombre"), style); - createCell(row, 1, filtros.get("nivelIngles"), style); - createCell(row, 2, filtros.get("experienciaEnMeses"), style); - createCell(row, 3, filtros.get("tecnologia"), style); - createCell(row, 4, filtros.get("nivelTecnologia"), style); - createCell(row, 5, filtros.get("institucion"), style); - createCell(row, 6, filtros.get("estado"), style); - createCell(row, 7, filtros.get("convocatoria"), style); - } private void createCell(Row row, int columnCount, Object value, CellStyle style) { @@ -126,6 +108,17 @@ public class PostulantesExcelExporter { createCell(row, columnCount++, user.getEstado().getEstado(), style); tecno.delete(0, tecno.length()-1); } + + Row row = sheet.createRow(4); + createCell(row, 0, filtros.get("nombre"), style); + createCell(row, 1, filtros.get("nivelIngles"), style); + createCell(row, 2, filtros.get("experienciaEnMeses"), style); + createCell(row, 3, filtros.get("tecnologia"), style); + createCell(row, 4, filtros.get("nivelTecnologia"), style); + createCell(row, 5, filtros.get("institucion"), style); + createCell(row, 6, filtros.get("estado"), style); + createCell(row, 7, filtros.get("convocatoria"), style); + createCell(row, 8, filtros.get("convocatoriaFecha"), style); } public void export(HttpServletResponse response) throws IOException { diff --git a/curriculumsearch/src/main/resources/static/Convo.js b/curriculumsearch/src/main/resources/static/Convo.js index 2c794d5..0786c0a 100644 --- a/curriculumsearch/src/main/resources/static/Convo.js +++ b/curriculumsearch/src/main/resources/static/Convo.js @@ -6,7 +6,7 @@ function listarConvocatorias(id){ const frag = document.createDocumentFragment(); let optionDefault = document.createElement("option"); optionDefault.value = ""; - optionDefault.innerHTML = "Seleccione una opcion"; + optionDefault.innerHTML = "Seleccione"; frag.appendChild(optionDefault); for (const conv of ConvocatoriaAmostrar) { const opt = document.createElement("option"); diff --git a/curriculumsearch/src/main/resources/static/main.js b/curriculumsearch/src/main/resources/static/main.js index daad42f..091b1d1 100644 --- a/curriculumsearch/src/main/resources/static/main.js +++ b/curriculumsearch/src/main/resources/static/main.js @@ -175,7 +175,7 @@ function agregarFieldTecnologia(){ if(tecn==null) continue; content1 += `
- ${tecn.tecnologia.nombre} ( ${tecn.nivel} )   + ${tecn.tecnologia.nombre} ( ${tecn.nivel} )  
` @@ -267,7 +267,7 @@ function agregarFieldExpierncia(event){ if(exp==null) continue; content += `
-
Experiencia
+
Experiencia
Institucion
${exp.institucion}
@@ -380,7 +380,7 @@ function agregarFieldEstudio(){ if(est==null) continue; content += `
-
Estudio
+
Estudio
Institucion
${est.institucion.nombre}
@@ -473,7 +473,7 @@ function agregarFieldCargo(){ if(car==null) continue; content1 += `
- ${document.querySelector('[name=cargo-id] > option[value="'+car.id+'"]').innerHTML}   + ${document.querySelector('[name=cargo-id] > option[value="'+car.id+'"]').innerHTML}  
@@ -547,7 +547,7 @@ function agregarFieldReferencia(event){ if(exp==null) continue; content += `
-
Referencia Personal
+
Referencia Personal
Nombre
${exp.nombre}
diff --git a/curriculumsearch/src/main/webapp/css/PostulanteStyle.css b/curriculumsearch/src/main/webapp/css/PostulanteStyle.css new file mode 100644 index 0000000..dcd4f43 --- /dev/null +++ b/curriculumsearch/src/main/webapp/css/PostulanteStyle.css @@ -0,0 +1,60 @@ + +.content-select select{ + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} +.content-select select::-ms-expand { + display: none; +} +.content-select{ + max-width: 250px; + position: relative; +} + +.content-select select{ + display: inline-block; + width: 100%; + cursor: pointer; + padding: 7px 10px; + height: 42px; + outline: 0; + border: 0; + border-radius: 0; + background: #f0f0f0; + color: #7b7b7b; + font-size: 1em; + color: #999; + font-family: + 'Quicksand', sans-serif; + border:2px solid rgba(0,0,0,0.2); + border-radius: 12px; + position: relative; + transition: all 0.25s ease; +} + +.content-select select:hover{ + background: #B1E8CD; +} + +/* +Creamos la fecha que aparece a la izquierda del select. +Realmente este elemento es un cuadrado que sólo tienen +dos bordes con color y que giramos con transform: rotate(-45deg); +*/ +.content-select i{ + position: absolute; + right: 20px; + top: calc(50% - 13px); + width: 16px; + height: 16px; + display: block; + border-left:4px solid #2AC176; + border-bottom:4px solid #2AC176; + transform: rotate(-45deg); /* Giramos el cuadrado */ + transition: all 0.25s ease; +} + +.content-select:hover i{ + margin-top: 3px; +} \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/css/formPostulanteStyle.css b/curriculumsearch/src/main/webapp/css/formPostulanteStyle.css index 32b1605..8d4ecf0 100644 --- a/curriculumsearch/src/main/webapp/css/formPostulanteStyle.css +++ b/curriculumsearch/src/main/webapp/css/formPostulanteStyle.css @@ -218,4 +218,116 @@ form[name="postulante"]{ .form-check-input:checked { background-color: #198754; border-color: #0d6efd; -} \ No newline at end of file +} + +label:hover { + color: #bfbfbf; +} +/*ICONOS Y PLACEHOLDER*/ +.FA{ + font-family: 'Shippori Antique B1',FontAwesome; +} + + +#nroDocument::-webkit-outer-spin-button, +#nroDocument::-webkit-inner-spin-button +{ + -webkit-appearance: none; + margin: 0; +} +#nroDocument[type=number] { + -moz-appearance: textfield; +} +#telefono::-webkit-outer-spin-button, +#telefono::-webkit-inner-spin-button +{ + -webkit-appearance: none; + margin: 0; +} +#telefono[type=number] { + -moz-appearance: textfield; +} +#refTel::-webkit-outer-spin-button, +#refTel::-webkit-inner-spin-button +{ + -webkit-appearance: none; + margin: 0; +} +#refTel[type=number] { + -moz-appearance: textfield; +} +.pointer {cursor: pointer;} +/* + +.size-placeholder::placeholder{ + background-size: 18px 18px; + background-repeat: no-repeat; + background-position: right center; + + +} +/*Nombre +.nombre-ph::placeholder{ + background-image: url(../img/placeholder/name_ph.png); +} +Apellido +#apellido::placeholder{ + background-image: url(../img/placeholder/lastname_ph.png); +} +Email +#correo::placeholder{ + background-image: url(../img/placeholder/email_ph.png); +} +Numero de documento*/ + +/* +.nroDocument-ph::placeholder{ + background-image: url(../img/placeholder/nroDocumento_ph.png); + margin-left: 5px; +} +Direccion +#direccion::placeholder{ + background-image: url(../img/placeholder/adress_ph.png); + background-size: 14px 14px; +}*/ +/*Telefono*/ + +/* +.telefono-ph::placeholder{ + background-image: url(../img/placeholder/telephone_ph.png); +} +/*Modal Estudio +#institucionEstudio::placeholder{ + background-image: url(../img/placeholder/studios_ph.png); +} +#temaDeEstudio::placeholder{ + background-image: url(../img/placeholder/studios_ph.png); +} + +#institucionExperiencia::placeholder{ + background-image: url(../img/placeholder/studios_ph.png); +} +#cargo::placeholder{ + background-image: url(../img/placeholder/cargo_ph.png); +} + +#descripcion::placeholder{ + background-image: url(../img/placeholder/description_ph.png); +} +#refNombre::placeholder{ + background-image: url(../img/placeholder/name_ph.png); +}*/ + +/* +.telefono-ph::placeholder{ + background-image: url(../img/placeholder/telephone_ph.png); +} +#motivoSalida::placeholder{ + background-image: url(../img/placeholder/motivoSalida_ph.png); +} +#relacion::placeholder{ + background-image: url(../img/placeholder/relacion_ph.png); +} +*/ +/*Prueba Font Awesome*/ + diff --git a/curriculumsearch/src/main/webapp/img/placeholder/adress_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/adress_ph.png new file mode 100644 index 0000000..67955ba Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/adress_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/building_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/building_ph.png new file mode 100644 index 0000000..f631308 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/building_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/cargo_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/cargo_ph.png new file mode 100644 index 0000000..0d9b3c4 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/cargo_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/description_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/description_ph.png new file mode 100644 index 0000000..7d99dfb Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/description_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/email_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/email_ph.png new file mode 100644 index 0000000..8c9ed67 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/email_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/lastname_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/lastname_ph.png new file mode 100644 index 0000000..f4e8f54 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/lastname_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/motivoSalida_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/motivoSalida_ph.png new file mode 100644 index 0000000..7ffec61 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/motivoSalida_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/name_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/name_ph.png new file mode 100644 index 0000000..16f3113 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/name_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/nroDocumento_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/nroDocumento_ph.png new file mode 100644 index 0000000..12f8f27 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/nroDocumento_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/relacion_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/relacion_ph.png new file mode 100644 index 0000000..7dfb0d8 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/relacion_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/studios_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/studios_ph.png new file mode 100644 index 0000000..cb079e5 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/studios_ph.png differ diff --git a/curriculumsearch/src/main/webapp/img/placeholder/telephone_ph.png b/curriculumsearch/src/main/webapp/img/placeholder/telephone_ph.png new file mode 100644 index 0000000..ca29092 Binary files /dev/null and b/curriculumsearch/src/main/webapp/img/placeholder/telephone_ph.png differ diff --git a/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp b/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp index a22f7c6..fba5078 100644 --- a/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp +++ b/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp @@ -65,7 +65,7 @@
-
${SUCCESS_MESSAGE}
+
${SUCCESS_MESSAGE}
diff --git a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp index 55798c9..7d0ddcd 100644 --- a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp @@ -15,6 +15,8 @@ + + @@ -30,25 +32,26 @@

Datos Personales

+
Todos los campos con (*) deben estar rellenados
- - + +
- - + +
- - + +
@@ -65,14 +68,14 @@
- +
@@ -95,19 +98,19 @@
- - + +
- - + +
- +
@@ -121,11 +124,11 @@
@@ -152,7 +155,7 @@
-

Cargos

+

Cargos

@@ -182,7 +185,7 @@
-

Estudios

+

Estudios

@@ -200,7 +203,7 @@
-

Tecnologias

+

Tecnologias

@@ -245,7 +248,7 @@
-

Experiencias

+

Experiencias

@@ -259,7 +262,7 @@
-

Referencias Personales

+

Referencia Personal

@@ -285,7 +288,7 @@