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
1
Merge Requests
1
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
Oscar Enrique Gonzalez Escurra
th-app-java
Commits
cc771cb7
Commit
cc771cb7
authored
Nov 05, 2021
by
Joel Florentin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
form con ciudad, estado civil y nacionalidad
parent
fe3075a0
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
202 additions
and
244 deletions
+202
-244
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
+27
-7
curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java
+3
-0
curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java
+3
-0
curriculumsearch/src/main/java/com/roshka/modelo/EstadoCivil.java
+17
-0
curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java
+31
-1
curriculumsearch/src/main/java/com/roshka/modelo/ExperienciaReconocimiento.java
+0
-50
curriculumsearch/src/main/java/com/roshka/modelo/ModalidadConverter.java
+0
-30
curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java
+3
-9
curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java
+6
-6
curriculumsearch/src/main/java/com/roshka/modelo/TipoExperiencia.java
+6
-29
curriculumsearch/src/main/java/com/roshka/repositorio/ExperienciaReconocimientoRepository.java
+0
-11
curriculumsearch/src/main/resources/json/postulante.json
+26
-60
curriculumsearch/src/main/resources/static/main.js
+24
-3
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
+56
-38
No files found.
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
View file @
cc771cb7
...
...
@@ -5,9 +5,15 @@ import java.util.List;
import
javax.validation.ConstraintViolationException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.roshka.modelo.Disponibilidad
;
import
com.roshka.modelo.Modalidad
;
import
com.roshka.modelo.EstadoCivil
;
import
com.roshka.modelo.Nacionalidad
;
import
com.roshka.modelo.Postulante
;
import
com.roshka.modelo.TipoExperiencia
;
import
com.roshka.repositorio.CiudadRepository
;
import
com.roshka.repositorio.DepartamentoRepository
;
import
com.roshka.repositorio.ExperienciaRepository
;
import
com.roshka.repositorio.PostulanteRepository
;
import
com.roshka.repositorio.TecnologiaRepository
;
...
...
@@ -32,13 +38,16 @@ public class PostulanteController {
@Autowired
ExperienciaRepository
expRepo
;
@Autowired
CiudadRepository
ciuRepo
;
@Autowired
DepartamentoRepository
depRepo
;
@RequestMapping
(
"/"
)
public
String
index
()
{
List
<
Postulante
>
j
=
post
.
personasConExperienciaMayor
(
30
);
for
(
Postulante
postulante
:
j
)
{
System
.
out
.
println
(
postulante
.
getNombre
());
}
return
"index"
;
}
...
...
@@ -54,8 +63,19 @@ public class PostulanteController {
@RequestMapping
(
"/postulante"
)
public
String
getFormPostulante
(
Model
model
){
model
.
addAttribute
(
"tecnologias"
,
tecRepo
.
findAll
());
model
.
addAttribute
(
"modalidades"
,
Modalidad
.
values
());
model
.
addAttribute
(
"disponibilidades"
,
Disponibilidad
.
values
());
//TODO:
model
.
addAttribute
(
"estadosCiviles"
,
EstadoCivil
.
values
());
model
.
addAttribute
(
"nacionalidades"
,
Nacionalidad
.
values
());
model
.
addAttribute
(
"tiposExperencia"
,
TipoExperiencia
.
values
());
try
{
model
.
addAttribute
(
"ciudades"
,
new
ObjectMapper
().
writeValueAsString
(
ciuRepo
.
findAll
()));
}
catch
(
JsonProcessingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
model
.
addAttribute
(
"departamentos"
,
depRepo
.
findAll
());
return
"postulante-form"
;
}
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java
View file @
cc771cb7
...
...
@@ -12,6 +12,8 @@ import javax.persistence.ManyToOne;
import
javax.persistence.Table
;
import
com.fasterxml.jackson.annotation.JsonBackReference
;
@Entity
@Table
(
name
=
"ciudad"
)
public
class
Ciudad
{
...
...
@@ -34,6 +36,7 @@ public class Ciudad{
@ManyToOne
(
targetEntity
=
Departamento
.
class
,
fetch
=
FetchType
.
EAGER
)
@JoinColumn
(
name
=
"departamento_id"
,
insertable
=
false
,
updatable
=
false
)
@JsonBackReference
private
Departamento
departamento
;
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java
View file @
cc771cb7
...
...
@@ -9,6 +9,8 @@ import javax.persistence.Id;
import
javax.persistence.OneToMany
;
import
javax.persistence.Table
;
import
com.fasterxml.jackson.annotation.JsonManagedReference
;
@Entity
@Table
(
name
=
"departamento"
)
public
class
Departamento
{
...
...
@@ -18,6 +20,7 @@ public class Departamento {
private
String
nombre
;
@OneToMany
(
mappedBy
=
"departamento"
,
cascade
=
CascadeType
.
ALL
)
@JsonManagedReference
private
List
<
Ciudad
>
ciudad
;
...
...
curriculumsearch/src/main/java/com/roshka/modelo/EstadoCivil.java
0 → 100644
View file @
cc771cb7
package
com
.
roshka
.
modelo
;
import
com.fasterxml.jackson.annotation.JsonValue
;
public
enum
EstadoCivil
{
SOLTERO
(
"Soltero"
),
CONCUBINADO
(
"Concubinado"
),
CASADO
(
"Casado"
),
VIUDO
(
"Viudo"
),
DIVORCIADO
(
"Divorciado"
);
private
String
descripcion
;
private
EstadoCivil
(
String
descripcion
)
{
this
.
descripcion
=
descripcion
;
}
@JsonValue
public
String
getDescripcion
()
{
return
descripcion
;
}
}
curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java
View file @
cc771cb7
...
...
@@ -53,8 +53,38 @@ public class Experiencia {
@JoinColumn
private
Postulante
postulante
;
@ManyToOne
@Column
(
name
=
"tipo_experiencia"
)
@NotNull
private
TipoExperiencia
tipoExperiencia
;
@Column
(
name
=
"descripcion"
)
@NotBlank
private
String
descripcion
;
public
String
getDescripcion
()
{
return
descripcion
;
}
public
void
setDescripcion
(
String
descripcion
)
{
this
.
descripcion
=
descripcion
;
}
public
Date
getFechaDesde
()
{
return
fechaDesde
;
}
public
String
getMotivoSalida
()
{
return
motivoSalida
;
}
public
TipoExperiencia
getTipoExperiencia
()
{
return
tipoExperiencia
;
}
public
void
setMotivoSalida
(
String
motivoSalida
)
{
this
.
motivoSalida
=
motivoSalida
;
}
public
void
setTipoExperiencia
(
TipoExperiencia
tipoExperiencia
)
{
this
.
tipoExperiencia
=
tipoExperiencia
;
}
public
long
getId
()
{
...
...
curriculumsearch/src/main/java/com/roshka/modelo/ExperienciaReconocimiento.java
deleted
100644 → 0
View file @
fe3075a0
package
com
.
roshka
.
modelo
;
import
javax.persistence.*
;
import
com.fasterxml.jackson.annotation.JsonBackReference
;
@Entity
@Table
(
name
=
"experiencia_reconocimiento"
)
public
class
ExperienciaReconocimiento
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
@Column
(
name
=
"id"
)
private
long
id
;
@ManyToOne
(
optional
=
false
)
@JoinColumn
@JsonBackReference
private
Experiencia
experiencia
;
@Column
(
name
=
"nombre"
)
private
String
nombre
;
@Column
(
name
=
"certificado"
)
private
String
certificado
;
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
Experiencia
getExperiencia
()
{
return
experiencia
;
}
public
void
setExperiencia
(
Experiencia
experiencia
)
{
this
.
experiencia
=
experiencia
;
}
public
String
getCertificado
()
{
return
certificado
;
}
public
String
getNombre
()
{
return
nombre
;
}
public
void
setCertificado
(
String
certificado
)
{
this
.
certificado
=
certificado
;
}
public
void
setNombre
(
String
nombre
)
{
this
.
nombre
=
nombre
;
}
}
curriculumsearch/src/main/java/com/roshka/modelo/ModalidadConverter.java
deleted
100644 → 0
View file @
fe3075a0
package
com
.
roshka
.
modelo
;
import
java.util.Arrays
;
import
javax.persistence.AttributeConverter
;
import
javax.persistence.Converter
;
@Converter
(
autoApply
=
true
)
public
class
ModalidadConverter
implements
AttributeConverter
<
Modalidad
,
String
>
{
@Override
public
String
convertToDatabaseColumn
(
Modalidad
modalidad
)
{
if
(
modalidad
==
null
)
{
return
null
;
}
return
modalidad
.
getCode
();
}
@Override
public
Modalidad
convertToEntityAttribute
(
String
code
)
{
if
(
code
==
null
)
{
return
null
;
}
return
Arrays
.
stream
(
Modalidad
.
values
())
.
filter
(
c
->
c
.
getCode
().
equals
(
code
))
.
findFirst
()
.
orElseThrow
(
IllegalArgumentException:
:
new
);
}
}
curriculumsearch/src/main/java/com/roshka/modelo/
Mod
alidad.java
→
curriculumsearch/src/main/java/com/roshka/modelo/
Nacion
alidad.java
View file @
cc771cb7
...
...
@@ -2,22 +2,16 @@ package com.roshka.modelo;
import
com.fasterxml.jackson.annotation.JsonValue
;
public
enum
Mod
alidad
{
P
RESENCIAL
(
"P"
,
"Presencial"
),
SEMIPRESENCIAL
(
"S"
,
"Semi Presencial"
),
REMOTO
(
"R"
,
"Remot
o"
);
public
enum
Nacion
alidad
{
P
Y
(
"Paraguayo"
),
EX
(
"Extranjer
o"
);
private
String
code
;
private
String
descripcion
;
private
Modalidad
(
String
code
,
String
descripcion
)
{
this
.
code
=
code
;
private
Nacionalidad
(
String
descripcion
)
{
this
.
descripcion
=
descripcion
;
}
@JsonValue
public
String
getCode
()
{
return
code
;
}
public
String
getDescripcion
()
{
return
descripcion
;
}
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java
View file @
cc771cb7
...
...
@@ -68,11 +68,11 @@ public class Postulante {
@Column
(
name
=
"estado_civil"
)
@NotNull
private
String
estadoCivil
;
private
EstadoCivil
estadoCivil
;
@Column
(
name
=
"nacionalidad"
,
length
=
2
)
@NotNull
private
String
nacionalidad
;
private
Nacionalidad
nacionalidad
;
@Column
(
name
=
"tipo_documento"
,
length
=
2
)
@NotBlank
(
message
=
"este campo debe estar completo"
)
...
...
@@ -212,23 +212,23 @@ public class Postulante {
public
void
setCiudadId
(
Long
ciudadId
)
{
this
.
ciudadId
=
ciudadId
;
}
public
void
setEstadoCivil
(
String
estadoCivil
)
{
public
void
setEstadoCivil
(
EstadoCivil
estadoCivil
)
{
this
.
estadoCivil
=
estadoCivil
;
}
public
void
setTipoDocumento
(
String
tipoDocumento
)
{
this
.
tipoDocumento
=
tipoDocumento
;
}
public
String
getEstadoCivil
()
{
public
EstadoCivil
getEstadoCivil
()
{
return
estadoCivil
;
}
public
String
getTipoDocumento
()
{
return
tipoDocumento
;
}
public
String
getNacionalidad
()
{
public
Nacionalidad
getNacionalidad
()
{
return
nacionalidad
;
}
public
void
setNacionalidad
(
String
nacionalidad
)
{
public
void
setNacionalidad
(
Nacionalidad
nacionalidad
)
{
this
.
nacionalidad
=
nacionalidad
;
}
...
...
curriculumsearch/src/main/java/com/roshka/modelo/TipoExperiencia.java
View file @
cc771cb7
package
com
.
roshka
.
modelo
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
com.fasterxml.jackson.annotation.JsonValue
;
import
javax.persistence.Table
;
public
enum
TipoExperiencia
{
TRABAJO_NORMAL
(
"Trabajo Normal"
),
PASANTIA
(
"Pasantia"
);
@Entity
@Table
(
name
=
"tipo_experiencia"
)
public
class
TipoExperiencia
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
@Column
(
name
=
"id"
)
private
long
id
;
@Column
(
name
=
"descripcion"
)
private
String
descripcion
;
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
private
TipoExperiencia
(
String
descripcion
){
this
.
descripcion
=
descripcion
;
}
@JsonValue
public
String
getDescripcion
()
{
return
descripcion
;
}
public
void
setDescripcion
(
String
descripcion
)
{
this
.
descripcion
=
descripcion
;
}
}
curriculumsearch/src/main/java/com/roshka/repositorio/ExperienciaReconocimientoRepository.java
deleted
100644 → 0
View file @
fe3075a0
package
com
.
roshka
.
repositorio
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
com.roshka.modelo.ExperienciaReconocimiento
;
public
interface
ExperienciaReconocimientoRepository
extends
JpaRepository
<
ExperienciaReconocimiento
,
Long
>
{
}
curriculumsearch/src/main/resources/json/postulante.json
View file @
cc771cb7
[
{
"resumen"
:
"In irure aliquip qui cillum veniam sint amet amet sint ex proident anim mollit."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"resumen"
:
"In irure aliquip qui cillum veniam sint amet amet sint ex proident anim mollit."
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Taylor"
,
"apellido"
:
"Obrien"
,
...
...
@@ -19,16 +19,11 @@
"institucion"
:
"Fanfare"
,
"fechaDesde"
:
"2014-09-10"
,
"fechaHasta"
:
"2016-01-01"
,
"tipoExperiencia"
:
"Trabajo Normal"
,
"cargo"
:
"dba"
,
"descripcion"
:
"Enim qui Lorem ut magna."
,
"nombreReferencia"
:
"Marissa"
,
"telefonoReferencia"
:
"(804) 471-2089"
,
"reconocimientos"
:
[
{
"nombre"
:
"ganador de x"
,
"certificado"
:
"cert"
}
]
"telefonoReferencia"
:
"(804) 471-2089"
}
],
"estudios"
:
[
...
...
@@ -69,8 +64,8 @@
},
{
"resumen"
:
"Do nostrud aliqua adipisicing in sunt aute id do elit ut dolor ad aliquip."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Hopkins"
,
"apellido"
:
"Parks"
,
...
...
@@ -90,13 +85,8 @@
"cargo"
:
"developer frontend"
,
"descripcion"
:
"Consequat fugiat qui sint deserunt ullamco."
,
"nombreReferencia"
:
"Iva"
,
"telefonoReferencia"
:
"(947) 580-2363"
,
"reconocimientos"
:
[
{
"nombre"
:
"ganador de x"
,
"certificado"
:
"cert"
}
]
"tipoExperiencia"
:
"Trabajo Normal"
,
"telefonoReferencia"
:
"(947) 580-2363"
}
],
"estudios"
:
[
...
...
@@ -125,8 +115,8 @@
},
{
"resumen"
:
"Occaecat non cupidatat amet reprehenderit consectetur ullamco et."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Alejandra"
,
"apellido"
:
"Riggs"
,
...
...
@@ -144,15 +134,10 @@
"fechaDesde"
:
"2014-08-26"
,
"fechaHasta"
:
"2016-01-01"
,
"cargo"
:
"dba"
,
"tipoExperiencia"
:
"Trabajo Normal"
,
"descripcion"
:
"Aute culpa ea mollit adipisicing dolore dolore amet adipisicing occaecat commodo enim cillum."
,
"nombreReferencia"
:
"Rose"
,
"telefonoReferencia"
:
"(853) 471-2006"
,
"reconocimientos"
:
[
{
"nombre"
:
"mejor alumno"
,
"certificado"
:
"cert"
}
]
"telefonoReferencia"
:
"(853) 471-2006"
}
],
"estudios"
:
[
...
...
@@ -181,8 +166,8 @@
},
{
"resumen"
:
"Qui ullamco excepteur velit ad ullamco id id nisi irure dolore cupidatat mollit ullamco veniam."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Angelina"
,
"apellido"
:
"Wallace"
,
...
...
@@ -203,12 +188,7 @@
"descripcion"
:
"Aliquip occaecat minim dolor enim commodo."
,
"nombreReferencia"
:
"Elba"
,
"telefonoReferencia"
:
"(881) 568-2597"
,
"reconocimientos"
:
[
{
"nombre"
:
"ganador de x"
,
"certificado"
:
"cert"
}
]
"tipoExperiencia"
:
"Trabajo Normal"
}
],
"estudios"
:
[
...
...
@@ -237,8 +217,8 @@
},
{
"resumen"
:
"Deserunt tempor ut et eiusmod et labore Lorem."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Rivas"
,
"apellido"
:
"Owens"
,
...
...
@@ -259,12 +239,7 @@
"descripcion"
:
"Dolore nulla deserunt fugiat est reprehenderit tempor qui excepteur."
,
"nombreReferencia"
:
"Crawford"
,
"telefonoReferencia"
:
"(903) 568-2045"
,
"reconocimientos"
:
[
{
"nombre"
:
"ganador de x"
,
"certificado"
:
"cert"
}
]
"tipoExperiencia"
:
"Trabajo Normal"
}
],
"estudios"
:
[
...
...
@@ -293,8 +268,8 @@
},
{
"resumen"
:
"Aliqua est adipisicing do exercitation sit laborum aliquip aliqua adipisicing enim aute."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Estelle"
,
"apellido"
:
"Gamble"
,
...
...
@@ -315,12 +290,7 @@
"descripcion"
:
"Do do est ad ea pariatur aliquip sit ipsum in duis laborum velit magna."
,
"nombreReferencia"
:
"Schultz"
,
"telefonoReferencia"
:
"(903) 420-3902"
,
"reconocimientos"
:
[
{
"nombre"
:
"mejor alumno"
,
"certificado"
:
"cert"
}
]
"tipoExperiencia"
:
"Trabajo Normal"
}
],
"estudios"
:
[
...
...
@@ -349,8 +319,8 @@
},
{
"resumen"
:
"Officia eiusmod ut reprehenderit tempor consequat elit amet ex voluptate aute anim do."
,
"nacionalidad"
:
"
py
"
,
"estadoCivil"
:
"S
OLTERO
"
,
"nacionalidad"
:
"
Paraguayo
"
,
"estadoCivil"
:
"S
oltero
"
,
"tipoDocumento"
:
"ci"
,
"nombre"
:
"Mariana"
,
"apellido"
:
"Ratliff"
,
...
...
@@ -371,12 +341,8 @@
"descripcion"
:
"Anim labore anim veniam deserunt ex aute."
,
"nombreReferencia"
:
"Francesca"
,
"telefonoReferencia"
:
"(961) 420-2150"
,
"reconocimientos"
:
[
{
"nombre"
:
"ganador de x"
,
"certificado"
:
"cert"
}
]
"tipoExperiencia"
:
"Trabajo Normal"
}
],
"estudios"
:
[
...
...
curriculumsearch/src/main/resources/static/main.js
View file @
cc771cb7
...
...
@@ -253,6 +253,27 @@ function eliminarEstudio(event) {
//evento para cambio de ciudad segun departamento
const
depSelect
=
document
.
querySelector
(
"#departamentos"
);
depSelect
.
addEventListener
(
"change"
,
evt
=>
listarCiudades
(
evt
.
target
.
value
))
listarCiudades
(
depSelect
.
value
);
//variable ciudades esta declarada en el jsp
/**
* Listar todas las ciudades en el select de ciudades
* @param {*} depId
*/
function
listarCiudades
(
depId
){
const
ciuAmostrar
=
ciudades
.
filter
(
c
=>
c
.
departamentoId
==
depId
);
const
ciudad
=
document
.
querySelector
(
"select[name=ciudadId]"
);
const
frag
=
document
.
createDocumentFragment
();
for
(
const
ciu
of
ciuAmostrar
)
{
const
opt
=
document
.
createElement
(
"option"
);
opt
.
value
=
ciu
.
id
;
opt
.
innerHTML
=
ciu
.
nombre
;
opt
.
setAttribute
(
"data-departamentoId"
,
ciu
.
departamentoId
);
frag
.
appendChild
(
opt
)
}
ciudad
.
replaceChildren
(
frag
);
}
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
View file @
cc771cb7
...
...
@@ -171,7 +171,23 @@
Luce Bien!
</div>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"nacionalidad"
class=
"form-label"
>
Nacionalidad
</label>
<select
name=
"nacionalidad"
id=
"nacionalidad"
class=
"bg-light"
>
<c:forEach
items=
"${nacionalidades}"
var=
"nacionalidad"
>
<option
value=
"${nacionalidad.getDescripcion()}"
>
${nacionalidad.getDescripcion()}
</option>
</c:forEach>
</select>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"tipoDocumento"
class=
"form-label"
>
Tipo de documento
</label>
<input
type=
"text"
name=
"tipoDocumento"
class=
"form-control "
id=
"tipoDocumento"
required
>
<div
class=
"valid-feedback"
>
Luce Bien!
</div>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"ci"
class=
"form-label"
>
Cedula de identidad
</label>
...
...
@@ -181,13 +197,23 @@
</div>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
form=
"ciudad"
class=
"form-label"
>
Ciudad
</label>
<input
type=
"text"
name=
"ciudad"
class=
"form-control "
id=
"ciudad"
required
>
<div
class=
"valid-feedback"
>
Luce Bien!
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"departamentos"
class=
"form-label"
>
Departamentos
</label>
<select
id=
"departamentos"
class=
"bg-light"
>
<c:forEach
items=
"${departamentos}"
var=
"departamentos"
>
<option
value=
"${departamentos.getId()}"
>
${departamentos.getNombre()}
</option>
</c:forEach>
</select>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"ciudad"
class=
"form-label"
>
Ciudad
</label>
<select
name=
"ciudadId"
id=
"ciudad"
class=
"bg-light"
>
</select>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"telefono"
class=
"form-label"
>
Telefono
</label>
<input
type=
"number"
name=
"telefono"
class=
"form-control "
id=
"telefono"
required
>
...
...
@@ -225,10 +251,10 @@
</select>
</div>
<div
class=
"inputs mb-3 col-md-6"
>
<label
for=
"
modalidad"
class=
"form-label"
>
Modalidad
</label>
<select
name=
"
modalidad"
id=
"modalidad
"
class=
"bg-light"
>
<c:forEach
items=
"${
modalidades}"
var=
"modalidad
"
>
<option
value=
"${
modalidad.getCode()}"
>
${modalidad
.getDescripcion()}
</option>
<label
for=
"
estadoCivil"
class=
"form-label"
>
Estado Civil
</label>
<select
name=
"
estadoCivil"
id=
"estadoCivil
"
class=
"bg-light"
>
<c:forEach
items=
"${
estadosCiviles}"
var=
"estadoCivil
"
>
<option
value=
"${
estadoCivil.getDescripcion()}"
>
${estadoCivil
.getDescripcion()}
</option>
</c:forEach>
...
...
@@ -316,35 +342,22 @@
<label
for=
"refTel"
class=
"form-label"
>
Telefono de la Referencia
</label>
<input
type=
"text"
class=
"form-control "
name=
"telefonoReferencia"
id=
"refTel"
>
</div>
<div
class=
"inputs"
>
<label
for=
"motivoSalida"
class=
"form-label"
>
Motivo de Salida
</label>
<textarea
class=
"form-control "
name=
"motivoSalida"
id=
"motivoSalida"
></textarea>
</div>
<div
class=
"inputs"
>
<label
for=
"tipoExperiencia"
class=
"form-label"
>
Tipo de Experiencia
</label>
<select
name=
"tipoExperiencia"
id=
"tipoExperiencia"
class=
"bg-light"
>
<c:forEach
items=
"${tiposExperencia}"
var=
"tipoExperiencia"
>
<option
value=
"${tipoExperiencia.getDescripcion()}"
>
${tipoExperiencia.getDescripcion()}
</option>
</c:forEach>
</select>
</div>
<div
class=
"inputs"
>
<label
class=
"form-label"
>
Reconocimientos
</label>
</div>
<div
class=
"row mb-3"
>
<div
class=
"inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-nombre-0"
placeholder=
"Titulo del reconocimiento"
aria-label=
"First name"
>
</div>
<div
class=
" inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-certificado-0"
placeholder=
"Adjuntar archivo"
aria-label=
"Last name"
>
</div>
</div>
<div
class=
"row mb-3"
>
<div
class=
"inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-nombre-1"
placeholder=
"Titulo del reconocimiento"
aria-label=
"First name"
>
</div>
<div
class=
"inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-certificado-1"
placeholder=
"Adjuntar archivo"
aria-label=
"Last name"
>
</div>
</div>
<div
class=
"row mb-3"
>
<div
class=
"inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-nombre-2"
placeholder=
"Titulo del reconocimiento"
aria-label=
"First name"
>
</div>
<div
class=
"inputs col"
>
<input
type=
"text"
class=
"form-control"
name=
"rec-certificado-2"
placeholder=
"Adjuntar archivo"
aria-label=
"Last name"
>
</div>
</div>
</form>
</div>
...
...
@@ -460,6 +473,10 @@
<script
src=
"https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity=
"sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin=
"anonymous"
></script>
<script
src=
"https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity=
"sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin=
"anonymous"
></script>
<script
src=
"https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity=
"sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin=
"anonymous"
></script>
<script>
var
ciudades
=
$
{
ciudades
};
</script>
<script
src=
"./main.js"
></script>
</body>
</html>
\ No newline at end of file
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