Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
th-app-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Amparo Oliver
th-app-java
Commits
f35018b6
Commit
f35018b6
authored
Nov 18, 2021
by
Joel Florentin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
secciones estilizadas en el form postulantes
parent
ccc1a8a4
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
126 additions
and
53 deletions
+126
-53
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
+0
-7
curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java
+1
-1
curriculumsearch/src/main/resources/json/postulante.json
+7
-7
curriculumsearch/src/main/resources/static/main.js
+28
-25
curriculumsearch/src/main/webapp/css/formPostulanteStyle.css
+1
-1
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
+89
-12
No files found.
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
View file @
f35018b6
...
...
@@ -95,13 +95,6 @@ public class PostulanteController {
return
"postulante-form"
;
}
/* @PostMapping("/uploadCVPostulante")
public String uploadFile(@RequestParam("file") MultipartFile file) {
dbFileRepository.save(storeFile(file));
DBFile dbFile = dbFileRepository.save(storeFile(file));
return "{\"id\": "+dbFile.getId()+"}";
} */
private
DBFile
createFile
(
MultipartFile
file
)
{
// Normalize file name
String
fileName
=
StringUtils
.
cleanPath
(
file
.
getOriginalFilename
());
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java
View file @
f35018b6
...
...
@@ -3,7 +3,7 @@ package com.roshka.modelo;
import
com.fasterxml.jackson.annotation.JsonValue
;
public
enum
Nacionalidad
{
PY
(
"Paraguay
o"
),
EX
(
"Extranjero
"
);
PY
(
"Paraguay
a"
),
EX
(
"Extranjera
"
);
private
String
descripcion
;
...
...
curriculumsearch/src/main/resources/json/postulante.json
View file @
f35018b6
[
{
"resumen"
:
"In irure aliquip qui cillum veniam sint amet amet sint ex proident anim mollit."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -60,7 +60,7 @@
},
{
"resumen"
:
"Do nostrud aliqua adipisicing in sunt aute id do elit ut dolor ad aliquip."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -107,7 +107,7 @@
},
{
"resumen"
:
"Occaecat non cupidatat amet reprehenderit consectetur ullamco et."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -154,7 +154,7 @@
},
{
"resumen"
:
"Qui ullamco excepteur velit ad ullamco id id nisi irure dolore cupidatat mollit ullamco veniam."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -201,7 +201,7 @@
},
{
"resumen"
:
"Deserunt tempor ut et eiusmod et labore Lorem."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -248,7 +248,7 @@
},
{
"resumen"
:
"Aliqua est adipisicing do exercitation sit laborum aliquip aliqua adipisicing enim aute."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
@@ -295,7 +295,7 @@
},
{
"resumen"
:
"Officia eiusmod ut reprehenderit tempor consequat elit amet ex voluptate aute anim do."
,
"nacionalidad"
:
"Paraguay
o
"
,
"nacionalidad"
:
"Paraguay
a
"
,
"postulaciones"
:
[{
"id"
:
1
}],
"estadoCivil"
:
"Soltero"
,
"tipoDocumento"
:
"CI"
,
...
...
curriculumsearch/src/main/resources/static/main.js
View file @
f35018b6
...
...
@@ -164,11 +164,11 @@ function agregarFieldTecnologia(){
const
tecn
=
tecnologias
[
index
];
if
(
tecn
==
null
)
continue
;
content1
+=
`
<div class="col
border border-3" id="tecn-
${
index
}
">
<label>
${
tecn
.
tecnologia
.
nombre
}
</label><br>
<label><progress value="
${
tecn
.
nivel
}
" max="5"></progress></label> <br>
<button type="button" class="btn btn-primary" onclick="eliminarTecnologia(event)">Eliminar</button>
<br>
<div class="col
-auto" id="tecn-
${
index
}
">
${
tecn
.
tecnologia
.
nombre
}
(
${
tecn
.
nivel
}
<i class="bi bi-star-fill"></i> ) <i class="bi bi-trash-fill" onclick="eliminarTecnologia(event)"></i>
</div>
`
...
...
@@ -179,6 +179,7 @@ function agregarFieldTecnologia(){
//div.appendChild(div1);
cont_tecnologia
++
;
document
.
querySelector
(
"#no-valid-tecno"
).
style
.
display
=
"none"
;
modalTecnologia
.
hide
()
}
function
eliminarTecnologia
(
event
)
{
//eliminar del array
...
...
@@ -259,7 +260,7 @@ function agregarFieldExpierncia(event){
if
(
exp
==
null
)
continue
;
content
+=
`
<div class="col border border-3" id="exp-
${
index
}
">
<
h4><center>Experiencia</center></h4>
<
center><h4>Experiencia <i class="bi bi-trash-fill" onclick="eliminarExperiencia(
${
index
}
)"></i></h4></center>
<label><b>Institucion:</b>
${
exp
.
institucion
}
</label><br>
<label><b>Fecha Inicio:</b>
${
exp
.
fechaDesde
}
</label><br>
<label><b>Fecha Fin:</b>
${
exp
.
fechaHasta
}
</label><br>
...
...
@@ -268,7 +269,7 @@ function agregarFieldExpierncia(event){
<label><b>Cargo:</b>
${
exp
.
cargo
}
</label><br>
<label><b>Motivo de salida:</b>
${
exp
.
motivoSalida
}
</label><br>
<button type="button" class="btn btn-primary" onclick="eliminarExperiencia(event)"> <span class="glyphicon glyphicon-trash"></span>Eliminar</button>
</div>
`
...
...
@@ -280,11 +281,12 @@ function agregarFieldExpierncia(event){
cont_experiencia
++
;
modalExperiencia
.
hide
()
}
function
eliminarExperiencia
(
event
)
{
function
eliminarExperiencia
(
index
)
{
//eliminar del array
experiencias
[
event
.
target
.
parentElement
.
id
.
split
(
"-"
)[
1
]
]
=
null
experiencias
[
index
]
=
null
//eliminar en html
event
.
target
.
parentElement
.
remove
()
document
.
getElementById
(
"exp-"
+
index
).
remove
()
//event.target.parentElement.remove()
}
/*---------------Estudios---------------------------*/
...
...
@@ -365,14 +367,14 @@ function agregarFieldEstudio(){
if
(
est
==
null
)
continue
;
content
+=
`
<div class="col border border-3" id="est-
${
index
}
">
<h4><center>Estudio</center></h4
>
<center><h4>Estudio <i class="bi bi-trash-fill" onclick="eliminarEstudio(
${
index
}
)"></i></h4></center
>
<label><b>Institucion:</b>
${
est
.
institucion
.
nombre
}
</label><br>
<label><b>Tipo de estudio:</b>
${
est
.
tipoDeEstudio
}
</label><br>
<label><b>Carrera:</b>
${
est
.
temaDeEstudio
}
</label><br>
<label><b>Fecha Inicio:</b>
${
est
.
fechaDesde
}
</label><br>
<label><b>Fecha Fin:</b>
${
est
.
fechaHasta
}
</label><br>
<label><b>Estado:</b>
${
est
.
estado
}
</label><br>
<button type="button" class="btn btn-primary" onclick="eliminarEstudio(event)">Eliminar</button>
</div>
`
...
...
@@ -386,11 +388,11 @@ function agregarFieldEstudio(){
modalEstudio
.
hide
()
}
function
eliminarEstudio
(
event
)
{
function
eliminarEstudio
(
index
)
{
//eliminar del array
estudios
[
event
.
target
.
parentElement
.
id
.
split
(
"-"
)[
1
]
]
=
null
estudios
[
index
]
=
null
//eliminar en html
event
.
target
.
parentElement
.
remove
()
document
.
getElementById
(
"est-"
+
index
)
.
remove
()
}
/*------------Cargos----------------------------------------*/
function
agregarFieldCargo
(){
...
...
@@ -449,9 +451,9 @@ function agregarFieldCargo(){
const
car
=
postulaciones
[
index
];
if
(
car
==
null
)
continue
;
content1
+=
`
<div class="col
border border-3
" id="car-
${
index
}
" style="text-transform: uppercase;">
<label>
${
document
.
querySelector
(
'[name=cargo-id] > option[value="'
+
car
.
id
+
'"]'
).
innerHTML
}
</label><br>
<button type="button" class="btn btn-primary" onclick="eliminarCargoPostulante(event)">Eliminar</button><br>
<div class="col
-auto
" id="car-
${
index
}
" style="text-transform: uppercase;">
${
document
.
querySelector
(
'[name=cargo-id] > option[value="'
+
car
.
id
+
'"]'
).
innerHTML
}
<i class="bi bi-trash-fill" onclick="eliminarCargoPostulante(event)"></i>
</div>
`
...
...
@@ -523,12 +525,13 @@ function agregarFieldReferencia(event){
const
exp
=
referencias
[
index
];
if
(
exp
==
null
)
continue
;
content
+=
`
<div class="col border border-3" id="exp-
${
index
}
">
<h4><center>Referencia Personal</center></h4>
<div class="col border border-3" id="ref-
${
index
}
">
<center><h4>Referencia Personal <i class="bi bi-trash-fill" onclick="eliminarReferencia(
${
index
}
)"></i></h4></center>
<label><b>Nombre:</b>
${
exp
.
nombre
}
</label><br>
<label><b>Telefono:</b>
${
exp
.
telefono
}
</label><br>
<label><b>Relacion:</b>
${
exp
.
relacion
}
</label><br>
<button type="button" class="btn btn-primary" onclick="eliminarReferencia(event)"> <span class="glyphicon glyphicon-trash"></span>Eliminar</button>
</div>
`
...
...
@@ -539,13 +542,13 @@ function agregarFieldReferencia(event){
//div.appendChild(div1);
cont_referencias
++
;
formexp
.
classList
.
remove
(
'was-validated'
)
modal
Experi
encia
.
hide
()
modal
Refer
encia
.
hide
()
}
function
eliminarReferencia
(
event
)
{
function
eliminarReferencia
(
index
)
{
//eliminar del array
referencias
[
event
.
target
.
parentElement
.
id
.
split
(
"-"
)[
1
]
]
=
null
referencias
[
index
]
=
null
//eliminar en html
event
.
target
.
parentElement
.
remove
()
document
.
getElementById
(
"ref-"
+
index
)
.
remove
()
}
/*--------------Form submit----------------------------- */
function
serializeJSON
(
form
)
{
...
...
curriculumsearch/src/main/webapp/css/formPostulanteStyle.css
View file @
f35018b6
body
{
background-color
:
#
baebd8
;
background-color
:
#
5078DA
;
/* background-image:url(/img/fondo2.png); */
/*background-size:cover;*/
background-repeat
:
repeat
;
...
...
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
View file @
f35018b6
...
...
@@ -12,6 +12,7 @@
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<title>
Curriculum
</title>
<link
href=
"../css/formPostulanteStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.1/font/bootstrap-icons.css"
>
</head>
<body
class=
"container"
>
...
...
@@ -26,7 +27,7 @@
<div
class=
"d-flex flex-row justify-content-center mb-3"
>
</div>
<h4>
Curriculum
</h4>
<h4>
Datos Personales
</h4>
<div
class=
"row"
>
...
...
@@ -44,7 +45,7 @@
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"correo"
class=
"form-label"
>
Email
address
</label>
<label
for=
"correo"
class=
"form-label"
>
Email
</label>
<input
type=
"email"
name=
"correo"
class=
"form-control "
id=
"correo"
required
>
</div>
...
...
@@ -142,33 +143,109 @@
<input
class=
"form-control"
type=
"file"
id=
"cvFile"
>
</div>
<!-- Button Agregar Cargo al que postulas -->
<button
type=
"button"
class=
"btn btn-primary"
><span
class=
"add-experience"
class=
"btn btn-primary"
data-bs-toggle=
"modal"
data-bs-target=
"#cargoForm"
><i
class=
"fa fa-plus"
></i>
Agregar Cargo al que postulas
</span></button><br>
<div
class=
"inputs mb-3 col-md-12"
>
<div
class=
"row w-100 p-3 gy-2 border mx-auto"
>
<div
class=
"col-12"
>
<h3>
Cargos
<i
class=
"bi bi-plus-circle-fill"
data-bs-toggle=
"modal"
data-bs-target=
"#cargoForm"
></i></h3>
</div>
<div
class=
"col-12"
>
<div
class=
"mt-3 gap-2 row row-cols-4"
style=
"display: flex;"
id=
"cargos"
>
</div>
</div>
<div
class=
"col-12"
>
<p
id=
"no-valid-cargo"
style=
"display: none; color: darkred; border: solid 1px darkred; border-radius: 25px; width: 75%"
class=
"m-3"
>
*Agrega por lo menos un cargo
</p>
<div
class=
"mt-3 gap-2 row row-cols-4"
style=
"display: flex;"
id=
"cargos"
></div>
</div>
</div>
</div>
<!-- Button Agregar Experiencia -->
<button
type=
"button"
class=
"btn btn-primary mt-2"
><span
class=
"add-experience"
data-bs-toggle=
"modal"
data-bs-target=
"#experienciaForm"
><i
class=
"fa fa-plus"
></i>
Agregar Experiencia
</span></button><br>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"experiencias"
></div>
<div
class=
"inputs mb-3 col-md-12"
>
<div
class=
"row w-100 p-3 gy-2 border mx-auto"
>
<div
class=
"col-12"
>
<h3>
Experiencias
<i
class=
"bi bi-plus-circle-fill"
data-bs-toggle=
"modal"
data-bs-target=
"#experienciaForm"
></i></h3>
</div>
<div
class=
"col-12"
>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"experiencias"
>
</div>
</div>
</div>
</div>
<!-- Button Agregar Estudio -->
<button
type=
"button"
class=
"btn btn-primary mt-2"
><span
class=
"add-experience"
data-bs-toggle=
"modal"
data-bs-target=
"#estudioForm"
><i
class=
"fa fa-plus"
></i>
Agregar Estudio
</span></button><br>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"estudios"
></div>
<div
class=
"inputs mb-3 col-md-12"
>
<div
class=
"row w-100 p-3 gy-2 border mx-auto"
>
<div
class=
"col-12"
>
<h3>
Estudios
<i
class=
"bi bi-plus-circle-fill"
data-bs-toggle=
"modal"
data-bs-target=
"#estudioForm"
></i></h3>
</div>
<div
class=
"col-12"
>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"estudios"
>
</div>
</div>
</div>
</div>
<!-- Button Agregar Tecnologia -->
<button
type=
"button"
class=
"btn btn-primary mt-2"
><span
class=
"add-experience"
data-bs-toggle=
"modal"
data-bs-target=
"#tecnologiaForm"
><i
class=
"fa fa-plus"
></i>
Agregar Tecnologia
</span></button><br>
<div
class=
"inputs mb-3 col-md-12"
>
<div
class=
"row w-100 p-3 gy-2 border mx-auto"
>
<div
class=
"col-12"
>
<h3>
Tecnologias
<i
class=
"bi bi-plus-circle-fill"
data-bs-toggle=
"modal"
data-bs-target=
"#tecnologiaForm"
></i></h3>
</div>
<div
class=
"col-12"
>
<div
class=
"mt-3 gap-2 row row-cols-5"
style=
"display: flex;"
id=
"tecnologias"
>
</div>
</div>
<div
class=
"col-12"
>
<p
id=
"no-valid-tecno"
style=
"display: none; color: darkred; border: solid 1px darkred; border-radius: 25px; width: 75%"
class=
"m-3"
>
*Agrega por lo menos una tecnologia
</p>
<div
class=
"mt-3 gap-2 row row-cols-5"
style=
"display: flex;"
id=
"tecnologias"
>
</div>
</div>
</div>
<!-- Button Agregar Refencia personal -->
<button
type=
"button"
class=
"btn btn-primary mt-2"
><span
class=
"add-experience"
data-bs-toggle=
"modal"
data-bs-target=
"#referenciaForm"
><i
class=
"fa fa-plus"
></i>
Agregar Referencia Personal
</span></button><br>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"referencia"
></div>
<div
class=
"inputs mb-3 col-md-12"
>
<div
class=
"row w-100 p-3 gy-2 border mx-auto"
>
<div
class=
"col-12"
>
<h3>
Referencia Personal
<i
class=
"bi bi-plus-circle-fill"
data-bs-toggle=
"modal"
data-bs-target=
"#referenciaForm"
></i></h3>
</div>
<div
class=
"col-12"
>
<div
class=
"mt-3 gap-2 row row-cols-4"
id=
"referencia"
>
</div>
</div>
</div>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment