Commit 196c6893 by Cesar Giulano Gonzalez Maqueda

Merge con joel

parents 19be8b2c cc771cb7
...@@ -6,9 +6,13 @@ import java.util.List; ...@@ -6,9 +6,13 @@ import java.util.List;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.roshka.modelo.Ciudad;
import com.roshka.modelo.Departamento;
import com.roshka.modelo.Postulante; import com.roshka.modelo.Postulante;
import com.roshka.modelo.PostulanteTecnologia; import com.roshka.modelo.PostulanteTecnologia;
import com.roshka.modelo.Tecnologia; import com.roshka.modelo.Tecnologia;
import com.roshka.repositorio.CiudadRepository;
import com.roshka.repositorio.DepartamentoRepository;
import com.roshka.repositorio.PostulanteRepository; import com.roshka.repositorio.PostulanteRepository;
import com.roshka.repositorio.TecnologiaRepository; import com.roshka.repositorio.TecnologiaRepository;
...@@ -29,16 +33,27 @@ public class CurriculumsearchApplication { ...@@ -29,16 +33,27 @@ public class CurriculumsearchApplication {
} }
@Bean @Bean
CommandLineRunner runner(PostulanteRepository postRepo,TecnologiaRepository tecRepo) { CommandLineRunner runner(PostulanteRepository postRepo,TecnologiaRepository tecRepo,DepartamentoRepository depR, CiudadRepository ciudR) {
return args -> { return args -> {
// read json and write to db
ObjectMapper mapper = new ObjectMapper();
TypeReference<List<Postulante>> typeReference = new TypeReference<List<Postulante>>(){};
InputStream inputStream = TypeReference.class.getResourceAsStream("/json/postulante.json");
try { try {
// read json and write to db
ObjectMapper mapper = new ObjectMapper();
TypeReference<List<Departamento>> typeReference1 = new TypeReference<List<Departamento>>(){};
InputStream inputStream = TypeReference.class.getResourceAsStream("/json/Departamento.json");
List<Departamento> departamento= mapper.readValue(inputStream,typeReference1);
depR.saveAll(departamento);
System.out.println("Departamentos Saved!");
TypeReference<List<Ciudad>> typeReference2 = new TypeReference<List<Ciudad>>(){};
inputStream = TypeReference.class.getResourceAsStream("/json/Ciudad.json");
List<Ciudad> ciudades= mapper.readValue(inputStream,typeReference2);
ciudR.saveAll(ciudades);
System.out.println("Cuidad Saved!");
TypeReference<List<Postulante>> typeReference = new TypeReference<List<Postulante>>(){};
inputStream = TypeReference.class.getResourceAsStream("/json/postulante.json");
List<Postulante> postulantes = mapper.readValue(inputStream,typeReference); List<Postulante> postulantes = mapper.readValue(inputStream,typeReference);
postRepo.saveAll(postulantes); postRepo.saveAll(postulantes);
System.out.println("postulantes Saved!"); System.out.println("postulantes Saved!");
} catch (IOException e){ } catch (IOException e){
System.out.println("Unable to save tecnologias: " + e.getMessage()); System.out.println("Unable to save tecnologias: " + e.getMessage());
} }
......
...@@ -6,6 +6,15 @@ import java.util.List; ...@@ -6,6 +6,15 @@ import java.util.List;
import javax.validation.ConstraintViolationException; import javax.validation.ConstraintViolationException;
import com.roshka.modelo.*; import com.roshka.modelo.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.roshka.modelo.Disponibilidad;
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.ExperienciaRepository;
import com.roshka.repositorio.InstitucionRepository; import com.roshka.repositorio.InstitucionRepository;
import com.roshka.repositorio.PostulanteRepository; import com.roshka.repositorio.PostulanteRepository;
...@@ -27,17 +36,24 @@ public class PostulanteController { ...@@ -27,17 +36,24 @@ public class PostulanteController {
TecnologiaRepository tecRepo; TecnologiaRepository tecRepo;
ExperienciaRepository expRepo; ExperienciaRepository expRepo;
InstitucionRepository institucionRepository; InstitucionRepository institucionRepository;
DepartamentoRepository depRepo;
CiudadRepository ciuRepo;
@Autowired @Autowired
public PostulanteController(PostulanteRepository post, TecnologiaRepository tecRepo, ExperienciaRepository expRepo, InstitucionRepository institucionRepository) { public PostulanteController(PostulanteRepository post, TecnologiaRepository tecRepo, ExperienciaRepository expRepo, InstitucionRepository institucionRepository, DepartamentoRepository depRepo, CiudadRepository ciuRepo) {
this.post = post; this.post = post;
this.tecRepo = tecRepo; this.tecRepo = tecRepo;
this.expRepo = expRepo; this.expRepo = expRepo;
this.institucionRepository = institucionRepository; this.institucionRepository = institucionRepository;
this.depRepo = depRepo;
this.ciuRepo = ciuRepo;
} }
@RequestMapping("/") @RequestMapping("/")
public String index() { public String index() {
return "index"; return "index";
} }
...@@ -53,10 +69,20 @@ public class PostulanteController { ...@@ -53,10 +69,20 @@ public class PostulanteController {
@RequestMapping("/postulante") @RequestMapping("/postulante")
public String getFormPostulante(Model model){ public String getFormPostulante(Model model){
model.addAttribute("tecnologias", tecRepo.findAll()); model.addAttribute("tecnologias", tecRepo.findAll());
model.addAttribute("modalidades", Modalidad.values());
model.addAttribute("disponibilidades", Disponibilidad.values()); model.addAttribute("disponibilidades", Disponibilidad.values());
model.addAttribute("tiposDeEstudio", TipoDeEstudio.values()); model.addAttribute("tiposDeEstudio", TipoDeEstudio.values());
model.addAttribute("estadosEstudio", EstadoEstudio.values()); model.addAttribute("estadosEstudio", EstadoEstudio.values());
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"; return "postulante-form";
} }
......
package com.roshka.modelo;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import com.fasterxml.jackson.annotation.JsonManagedReference;
@Entity
@Table(name = "cargo")
public class Cargo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@NotBlank
@Column(name = "nombre")
private String nombre;
@OneToMany(mappedBy = "cargo")
@JsonManagedReference
private List<ConvocatoriaCargo> convocatorias;
public long getId() {
return id;
}
public String getNombre() {
return nombre;
}
public void setId(long id) {
this.id = id;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public List<ConvocatoriaCargo> getConvocatorias() {
return convocatorias;
}
public void setConvocatorias(List<ConvocatoriaCargo> convocatorias) {
this.convocatorias = convocatorias;
}
}
package com.roshka.modelo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonBackReference;
@Entity
@Table(name="ciudad")
public class Ciudad{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long id;
@Column(name="nombre")
public String nombre;
@Column(name="departamento_id")
private Long departamentoId;
public Long getDepartamentoId() {
return this.departamentoId;
}
public void setDepartamentoId(Long departamentoId) {
this.departamentoId = departamentoId;
}
@ManyToOne(targetEntity = Departamento.class,fetch = FetchType.EAGER)
@JoinColumn(name="departamento_id",insertable = false, updatable = false)
@JsonBackReference
private Departamento departamento;
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Departamento getDepartamento() {
return this.departamento;
}
public void setDepartamento(Departamento departamento) {
this.departamento = departamento;
}
}
package com.roshka.modelo;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.roshka.utils.Helper;
@Entity
@Table(name = "convocatoria_cargo")
public class ConvocatoriaCargo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@ManyToOne()
@JoinColumn
@JsonBackReference
private Cargo cargo;
@Column(name = "fecha_inicio")
private Date fechaInicio;
@Column(name = "fecha_fin")
private Date fechaFin;
@Column(name = "cupos")
private int cupos;
@ManyToMany(mappedBy = "postulaciones")
private List<Postulante> postulantes;
public long getId() {
return id;
}
public Cargo getCargo() {
return cargo;
}
public int getCupos() {
return cupos;
}
public Date getFechaFin() {
return fechaFin;
}
public Date getFechaInicio() {
return fechaInicio;
}
public void setId(long id) {
this.id = id;
}
public void setCargo(Cargo cargo) {
this.cargo = cargo;
}
public void setCupos(int cupos) {
this.cupos = cupos;
}
public void setFechaFin(Date fechaFin) {
this.fechaFin = fechaFin;
}
public void setFechaInicio(Date fechaInicio) {
this.fechaInicio = fechaInicio;
}
public void setFechaFin(String fechaFin) {
this.fechaFin = Helper.convertirFecha(fechaFin);
}
public void setFechaInicio(String fechaInicio) {
this.fechaInicio = Helper.convertirFecha(fechaInicio);
}
public List<Postulante> getPostulantes() {
return postulantes;
}
public void setPostulantes(List<Postulante> postulantes) {
this.postulantes = postulantes;
}
}
package com.roshka.modelo;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
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 {
@Id
private Long id;
@Column(name="nombre")
private String nombre;
@OneToMany(mappedBy = "departamento",cascade = CascadeType.ALL)
@JsonManagedReference
private List<Ciudad> ciudad;
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public List<Ciudad> getCiudad() {
return this.ciudad;
}
public void setCiudad(List<Ciudad> ciudad) {
this.ciudad = ciudad;
}
}
\ No newline at end of file
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;
}
}
...@@ -24,7 +24,7 @@ public class Estudio { ...@@ -24,7 +24,7 @@ public class Estudio {
private TipoDeEstudio tipoDeEstudio; private TipoDeEstudio tipoDeEstudio;
@NotNull(message = "Este campo no puede estar vacio") @NotNull(message = "Este campo no puede estar vacio")
@ManyToOne(fetch = FetchType.EAGER) @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
@JsonBackReference @JsonBackReference
private Institucion institucion; private Institucion institucion;
......
...@@ -45,18 +45,49 @@ public class Experiencia { ...@@ -45,18 +45,49 @@ public class Experiencia {
@NotBlank(message = "Este campo no puede estar vacio") @NotBlank(message = "Este campo no puede estar vacio")
private String cargo; private String cargo;
@Column(name = "descripcion") @Column(name="motivo_salida")
private String descripcion; private String motivoSalida;
@JsonBackReference(value = "experiencia-postulante") @JsonBackReference(value = "experiencia-postulante")
@ManyToOne(optional = false) @ManyToOne(optional = false)
@JoinColumn @JoinColumn
private Postulante postulante; private Postulante postulante;
@JsonManagedReference(value = "experienciareconocimiento-experiencia") @Column(name = "tipo_experiencia")
@OneToMany(mappedBy = "experiencia",cascade = CascadeType.ALL) @NotNull
private List<ExperienciaReconocimiento> reconocimientos; 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() { public long getId() {
return id; return id;
} }
...@@ -105,16 +136,5 @@ public class Experiencia { ...@@ -105,16 +136,5 @@ public class Experiencia {
public Postulante getPostulante() { public Postulante getPostulante() {
return postulante; return postulante;
} }
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public void setReconocimientos(List<ExperienciaReconocimiento> reconocimientos) {
this.reconocimientos = reconocimientos;
}
public List<ExperienciaReconocimiento> getReconocimientos() {
return reconocimientos;
}
} }
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(value = "experienciareconocimiento-experiencia")
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;
}
}
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);
}
}
...@@ -2,22 +2,16 @@ package com.roshka.modelo; ...@@ -2,22 +2,16 @@ package com.roshka.modelo;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
public enum Modalidad { public enum Nacionalidad {
PRESENCIAL("P","Presencial"), SEMIPRESENCIAL("S","Semi Presencial"), REMOTO("R","Remoto"); PY("Paraguayo"),EX("Extranjero");
private String code;
private String descripcion; private String descripcion;
private Modalidad(String code, String descripcion) { private Nacionalidad(String descripcion) {
this.code = code;
this.descripcion = descripcion; this.descripcion = descripcion;
} }
@JsonValue @JsonValue
public String getCode() {
return code;
}
public String getDescripcion() { public String getDescripcion() {
return descripcion; return descripcion;
} }
......
...@@ -3,6 +3,7 @@ package com.roshka.modelo; ...@@ -3,6 +3,7 @@ package com.roshka.modelo;
import javax.persistence.*; import javax.persistence.*;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference; import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.roshka.utils.Helper; import com.roshka.utils.Helper;
...@@ -39,10 +40,11 @@ public class Postulante { ...@@ -39,10 +40,11 @@ public class Postulante {
@Email(message = "Formato incorrecto de correo") @Email(message = "Formato incorrecto de correo")
private String correo; private String correo;
@Column(name = "ciudad") @ManyToOne(targetEntity = Ciudad.class,fetch = FetchType.EAGER)
@NotBlank(message = "Este campo no puede estar vacio") @JoinColumn(name="ciudad_id",insertable = false, updatable = false)
@Size(max = 120) private Ciudad ciudad;
private String ciudad; @Column(name="ciudad_id")
private Long ciudadId;
@Column(name = "telefono") @Column(name = "telefono")
@NotBlank(message = "Este campo no puede estar vacio") @NotBlank(message = "Este campo no puede estar vacio")
...@@ -64,9 +66,18 @@ public class Postulante { ...@@ -64,9 +66,18 @@ public class Postulante {
@Column(name = "curriculum") @Column(name = "curriculum")
private String curriculum; private String curriculum;
@Column(name = "modalidad", length = 2) @Column(name="estado_civil")
@NotNull
private EstadoCivil estadoCivil;
@Column(name="nacionalidad", length = 2)
@NotNull @NotNull
private Modalidad modalidad; private Nacionalidad nacionalidad;
@Column(name = "tipo_documento", length = 2)
@NotBlank(message = "este campo debe estar completo")
private String tipoDocumento;
@Column(name = "disponibilidad", length = 2) @Column(name = "disponibilidad", length = 2)
private Disponibilidad disponibilidad; private Disponibilidad disponibilidad;
...@@ -83,6 +94,18 @@ public class Postulante { ...@@ -83,6 +94,18 @@ public class Postulante {
@OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL) @OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
private List<Estudio> estudios; private List<Estudio> estudios;
@JsonManagedReference
@OneToMany(mappedBy = "postulante",cascade = CascadeType.ALL)
private List<ReferenciaPersonal> referencias;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(uniqueConstraints = @UniqueConstraint(columnNames = {"postulante_id","convocatoria_cargo_id"}),
joinColumns = @JoinColumn(name="postulante_id", referencedColumnName="id"),
inverseJoinColumns= @JoinColumn(name="convocatoria_cargo_id", referencedColumnName="id")
)
@JsonIgnore
private List<ConvocatoriaCargo> postulaciones;
public long getId() { public long getId() {
return id; return id;
...@@ -124,14 +147,6 @@ public class Postulante { ...@@ -124,14 +147,6 @@ public class Postulante {
this.correo = correo; this.correo = correo;
} }
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
public String getTelefono() { public String getTelefono() {
return telefono; return telefono;
} }
...@@ -176,16 +191,45 @@ public class Postulante { ...@@ -176,16 +191,45 @@ public class Postulante {
this.curriculum = curriculum; this.curriculum = curriculum;
} }
public Modalidad getModalidad() {
return modalidad;
public Disponibilidad getDisponibilidad() {
return disponibilidad;
} }
public void setModalidad(Modalidad modalidad) { public Ciudad getCiudad() {
this.modalidad = modalidad; return this.ciudad;
} }
public Disponibilidad getDisponibilidad() { public void setCiudad(Ciudad ciudad) {
return disponibilidad; this.ciudad = ciudad;
}
public Long getCiudadId() {
return this.ciudadId;
}
public void setCiudadId(Long ciudadId) {
this.ciudadId = ciudadId;
}
public void setEstadoCivil(EstadoCivil estadoCivil) {
this.estadoCivil = estadoCivil;
}
public void setTipoDocumento(String tipoDocumento) {
this.tipoDocumento = tipoDocumento;
}
public EstadoCivil getEstadoCivil() {
return estadoCivil;
}
public String getTipoDocumento() {
return tipoDocumento;
}
public Nacionalidad getNacionalidad() {
return nacionalidad;
}
public void setNacionalidad(Nacionalidad nacionalidad) {
this.nacionalidad = nacionalidad;
} }
public void setDisponibilidad(Disponibilidad disponibilidad) { public void setDisponibilidad(Disponibilidad disponibilidad) {
...@@ -211,4 +255,18 @@ public class Postulante { ...@@ -211,4 +255,18 @@ public class Postulante {
public void setExperiencias(List<Experiencia> experiencias) { public void setExperiencias(List<Experiencia> experiencias) {
this.experiencias = experiencias; this.experiencias = experiencias;
} }
public List<ConvocatoriaCargo> getPostulaciones() {
return postulaciones;
}
public void setPostulaciones(List<ConvocatoriaCargo> postulaciones) {
this.postulaciones = postulaciones;
}
public void setReferencias(List<ReferenciaPersonal> referencias) {
this.referencias = referencias;
}
public List<ReferenciaPersonal> getReferencias() {
return referencias;
}
} }
...@@ -12,7 +12,7 @@ import javax.persistence.Table; ...@@ -12,7 +12,7 @@ import javax.persistence.Table;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonBackReference;
@Entity @Entity
...@@ -37,6 +37,7 @@ public class PostulanteTecnologia { ...@@ -37,6 +37,7 @@ public class PostulanteTecnologia {
@JoinColumn @JoinColumn
@JsonBackReference(value = "postulantetecnologia-postulante") @JsonBackReference(value = "postulantetecnologia-postulante")
private Postulante postulante; private Postulante postulante;
public long getId() { public long getId() {
return id; return id;
} }
......
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 javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import com.fasterxml.jackson.annotation.JsonBackReference;
@Entity
@Table(name = "referencia_personal")
public class ReferenciaPersonal {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotBlank
@Column(name = "nombre")
private String nombre;
@NotBlank
@Column(name = "telefono")
private String telefono;
@NotBlank
@Column(name = "relacion")
private String relacion;
@ManyToOne(optional = false)
@JoinColumn
@JsonBackReference
private Postulante postulante;
public Long getId() {
return id;
}
public String getNombre() {
return nombre;
}
public String getRelacion() {
return relacion;
}
public String getTelefono() {
return telefono;
}
public Postulante getPostulante() {
return postulante;
}
public void setId(Long id) {
this.id = id;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setRelacion(String relacion) {
this.relacion = relacion;
}
public void setTelefono(String telefono) {
this.telefono = telefono;
}
public void setPostulante(Postulante postulante) {
this.postulante = postulante;
}
}
...@@ -7,7 +7,7 @@ import javax.persistence.GenerationType; ...@@ -7,7 +7,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.Locale;
@Entity @Entity
@Table(name="tecnologia") @Table(name="tecnologia")
......
package com.roshka.modelo;
import com.fasterxml.jackson.annotation.JsonValue;
public enum TipoExperiencia {
TRABAJO_NORMAL("Trabajo Normal"), PASANTIA("Pasantia");
private String descripcion;
private TipoExperiencia(String descripcion){
this.descripcion = descripcion;
}
@JsonValue
public String getDescripcion() {
return descripcion;
}
}
package com.roshka.repositorio; package com.roshka.repositorio;
import org.springframework.data.jpa.repository.JpaRepository; import com.roshka.modelo.Ciudad;
import com.roshka.modelo.ExperienciaReconocimiento;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ExperienciaReconocimientoRepository extends JpaRepository<ExperienciaReconocimiento,Long> { public interface CiudadRepository extends JpaRepository<Ciudad,Long> {
} }
package com.roshka.repositorio;
import com.roshka.modelo.Departamento;
import org.springframework.data.jpa.repository.JpaRepository;
public interface DepartamentoRepository extends JpaRepository<Departamento,Long> {
}
...@@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import com.roshka.modelo.Postulante; import com.roshka.modelo.Postulante;
import com.roshka.modelo.PostulanteTecnologia;
public interface PostulanteRepository extends JpaRepository<Postulante,Long> { public interface PostulanteRepository extends JpaRepository<Postulante,Long> {
......
package com.roshka.repositorio; package com.roshka.repositorio;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import com.roshka.modelo.PostulanteTecnologia; import com.roshka.modelo.PostulanteTecnologia;
......
[
{
"departamentoId": 0,
"nombre": "ASUNCION"
},
{
"departamentoId": 1,
"nombre": "CONCEPCION"
},
{
"departamentoId": 1,
"nombre": "BELEN"
},
{
"departamentoId": 1,
"nombre": "HORQUETA"
},
{
"departamentoId": 1,
"nombre": "LORETO"
},
{
"departamentoId": 1,
"nombre": "SAN CARLOS DEL APA"
},
{
"departamentoId": 1,
"nombre": "SAN LAZARO"
},
{
"departamentoId": 1,
"nombre": "YBY YAU"
},
{
"departamentoId": 1,
"nombre": "AZOTE'Y"
},
{
"departamentoId": 1,
"nombre": "SARGENTO JOSE FELIX LOPEZ"
},
{
"departamentoId": 1,
"nombre": "SAN ALFREDO"
},
{
"departamentoId": 1,
"nombre": "PASO BARRETO"
},
{
"departamentoId": 2,
"nombre": "SAN PEDRO DEL YCUAMANDYYU"
},
{
"departamentoId": 2,
"nombre": "ANTEQUERA"
},
{
"departamentoId": 2,
"nombre": "CHORE"
},
{
"departamentoId": 2,
"nombre": "GENERAL ELIZARDO AQUINO"
},
{
"departamentoId": 2,
"nombre": "ITACURUBI DEL ROSARIO"
},
{
"departamentoId": 2,
"nombre": "LIMA"
},
{
"departamentoId": 2,
"nombre": "NUEVA GERMANIA"
},
{
"departamentoId": 2,
"nombre": "SAN ESTANISLAO"
},
{
"departamentoId": 2,
"nombre": "SAN PABLO"
},
{
"departamentoId": 2,
"nombre": "TACUATI"
},
{
"departamentoId": 2,
"nombre": "UNION"
},
{
"departamentoId": 2,
"nombre": "25 DE DICIEMBRE"
},
{
"departamentoId": 2,
"nombre": "VILLA DEL ROSARIO"
},
{
"departamentoId": 2,
"nombre": "GENERAL FRANCISCO ISIDORO RESQUIN"
},
{
"departamentoId": 2,
"nombre": "YATAITY DEL NORTE"
},
{
"departamentoId": 2,
"nombre": "GUAJAYVI"
},
{
"departamentoId": 2,
"nombre": "CAPIIBARY"
},
{
"departamentoId": 2,
"nombre": "SANTA ROSA DEL AGUARAY"
},
{
"departamentoId": 2,
"nombre": "YRYBUCUA"
},
{
"departamentoId": 2,
"nombre": "LIBERACION"
},
{
"departamentoId": 3,
"nombre": "CAACUPE"
},
{
"departamentoId": 3,
"nombre": "ALTOS"
},
{
"departamentoId": 3,
"nombre": "ARROYOS Y ESTEROS"
},
{
"departamentoId": 3,
"nombre": "ATYRA"
},
{
"departamentoId": 3,
"nombre": "CARAGUATAY"
},
{
"departamentoId": 3,
"nombre": "EMBOSCADA"
},
{
"departamentoId": 3,
"nombre": "EUSEBIO AYALA"
},
{
"departamentoId": 3,
"nombre": "ISLA PUCU"
},
{
"departamentoId": 3,
"nombre": "ITACURUBI DE LA CORDILLERA"
},
{
"departamentoId": 3,
"nombre": "JUAN DE MENA"
},
{
"departamentoId": 3,
"nombre": "LOMA GRANDE"
},
{
"departamentoId": 3,
"nombre": "MBOCAYATY DEL YHAGUY"
},
{
"departamentoId": 3,
"nombre": "NUEVA COLOMBIA"
},
{
"departamentoId": 3,
"nombre": "PIRIBEBUY"
},
{
"departamentoId": 3,
"nombre": "PRIMERO DE MARZO"
},
{
"departamentoId": 3,
"nombre": "SAN BERNARDINO"
},
{
"departamentoId": 3,
"nombre": "SANTA ELENA"
},
{
"departamentoId": 3,
"nombre": "TOBATI"
},
{
"departamentoId": 3,
"nombre": "VALENZUELA"
},
{
"departamentoId": 3,
"nombre": "SAN JOSE OBRERO"
},
{
"departamentoId": 4,
"nombre": "VILLARRICA"
},
{
"departamentoId": 4,
"nombre": "BORJA"
},
{
"departamentoId": 4,
"nombre": "CAPITAN MAURICIO JOSE TROCHE"
},
{
"departamentoId": 4,
"nombre": "CORONEL MARTINEZ"
},
{
"departamentoId": 4,
"nombre": "FELIX PEREZ CARDOZO"
},
{
"departamentoId": 4,
"nombre": "GRAL. EUGENIO A. GARAY"
},
{
"departamentoId": 4,
"nombre": "INDEPENDENCIA"
},
{
"departamentoId": 4,
"nombre": "ITAPE"
},
{
"departamentoId": 4,
"nombre": "ITURBE"
},
{
"departamentoId": 4,
"nombre": "JOSE FASSARDI"
},
{
"departamentoId": 4,
"nombre": "MBOCAYATY"
},
{
"departamentoId": 4,
"nombre": "NATALICIO TALAVERA"
},
{
"departamentoId": 4,
"nombre": "NUMI"
},
{
"departamentoId": 4,
"nombre": "SAN SALVADOR"
},
{
"departamentoId": 4,
"nombre": "YATAITY"
},
{
"departamentoId": 4,
"nombre": "DOCTOR BOTTRELL"
},
{
"departamentoId": 4,
"nombre": "PASO YOBAI"
},
{
"departamentoId": 4,
"nombre": "TEBICUARY"
},
{
"departamentoId": 5,
"nombre": "CORONEL OVIEDO"
},
{
"departamentoId": 5,
"nombre": "CAAGUAZU"
},
{
"departamentoId": 5,
"nombre": "CARAYAO"
},
{
"departamentoId": 5,
"nombre": "DR. CECILIO BAEZ"
},
{
"departamentoId": 5,
"nombre": "SANTA ROSA DEL MBUTUY"
},
{
"departamentoId": 5,
"nombre": "DR. JUAN MANUEL FRUTOS"
},
{
"departamentoId": 5,
"nombre": "REPATRIACION"
},
{
"departamentoId": 5,
"nombre": "NUEVA LONDRES"
},
{
"departamentoId": 5,
"nombre": "SAN JOAQUIN"
},
{
"departamentoId": 5,
"nombre": "SAN JOSE DE LOS ARROYOS"
},
{
"departamentoId": 5,
"nombre": "YHU"
},
{
"departamentoId": 5,
"nombre": "DR. J. EULOGIO ESTIGARRIBIA"
},
{
"departamentoId": 5,
"nombre": "R.I. 3 CORRALES"
},
{
"departamentoId": 5,
"nombre": "RAUL ARSENIO OVIEDO"
},
{
"departamentoId": 5,
"nombre": "JOSE DOMINGO OCAMPOS"
},
{
"departamentoId": 5,
"nombre": "MARISCAL FRANCISCO SOLANO LOPEZ"
},
{
"departamentoId": 5,
"nombre": "LA PASTORA"
},
{
"departamentoId": 5,
"nombre": "3 DE FEBRERO"
},
{
"departamentoId": 5,
"nombre": "SIMON BOLIVAR"
},
{
"departamentoId": 5,
"nombre": "VAQUERIA"
},
{
"departamentoId": 5,
"nombre": "TEMBIAPORA"
},
{
"departamentoId": 5,
"nombre": "NUEVA TOLEDO"
},
{
"departamentoId": 6,
"nombre": "CAAZAPA"
},
{
"departamentoId": 6,
"nombre": "ABAI"
},
{
"departamentoId": 6,
"nombre": "BUENA VISTA"
},
{
"departamentoId": 6,
"nombre": "DR. MOISES S. BERTONI"
},
{
"departamentoId": 6,
"nombre": "GRAL. HIGINIO MORINIGO"
},
{
"departamentoId": 6,
"nombre": "MACIEL"
},
{
"departamentoId": 6,
"nombre": "SAN JUAN NEPOMUCENO"
},
{
"departamentoId": 6,
"nombre": "TAVAI"
},
{
"departamentoId": 6,
"nombre": "YEGROS"
},
{
"departamentoId": 6,
"nombre": "YUTY"
},
{
"departamentoId": 6,
"nombre": "3 DE MAYO"
},
{
"departamentoId": 7,
"nombre": "ENCARNACION"
},
{
"departamentoId": 7,
"nombre": "BELLA VISTA"
},
{
"departamentoId": 7,
"nombre": "CAMBYRETA"
},
{
"departamentoId": 7,
"nombre": "CAPITAN MEZA"
},
{
"departamentoId": 7,
"nombre": "CAPITAN MIRANDA"
},
{
"departamentoId": 7,
"nombre": "NUEVA ALBORADA"
},
{
"departamentoId": 7,
"nombre": "CARMEN DEL PARANA"
},
{
"departamentoId": 7,
"nombre": "CORONEL BOGADO"
},
{
"departamentoId": 7,
"nombre": "CARLOS ANTONIO LOPEZ"
},
{
"departamentoId": 7,
"nombre": "NATALIO"
},
{
"departamentoId": 7,
"nombre": "FRAM"
},
{
"departamentoId": 7,
"nombre": "GENERAL ARTIGAS"
},
{
"departamentoId": 7,
"nombre": "GENERAL DELGADO"
},
{
"departamentoId": 7,
"nombre": "HOHENAU"
},
{
"departamentoId": 7,
"nombre": "JESUS"
},
{
"departamentoId": 7,
"nombre": "JOSE LEANDRO OVIEDO"
},
{
"departamentoId": 7,
"nombre": "OBLIGADO"
},
{
"departamentoId": 7,
"nombre": "MAYOR JULIO DIONISIO OTANO"
},
{
"departamentoId": 7,
"nombre": "SAN COSME Y DAMIAN"
},
{
"departamentoId": 7,
"nombre": "SAN PEDRO DEL PARANA"
},
{
"departamentoId": 7,
"nombre": "SAN RAFAEL DEL PARANA"
},
{
"departamentoId": 7,
"nombre": "TRINIDAD"
},
{
"departamentoId": 7,
"nombre": "EDELIRA"
},
{
"departamentoId": 7,
"nombre": "TOMAS ROMERO PEREIRA"
},
{
"departamentoId": 7,
"nombre": "ALTO VERA"
},
{
"departamentoId": 7,
"nombre": "LA PAZ"
},
{
"departamentoId": 7,
"nombre": "YATYTAY"
},
{
"departamentoId": 7,
"nombre": "SAN JUAN DEL PARANA"
},
{
"departamentoId": 7,
"nombre": "PIRAPO"
},
{
"departamentoId": 7,
"nombre": "ITAPUA POTY"
},
{
"departamentoId": 8,
"nombre": "SAN JUAN BAUTISTA DE LAS MISIONES"
},
{
"departamentoId": 8,
"nombre": "AYOLAS"
},
{
"departamentoId": 8,
"nombre": "SAN IGNACIO"
},
{
"departamentoId": 8,
"nombre": "SAN MIGUEL"
},
{
"departamentoId": 8,
"nombre": "SAN PATRICIO"
},
{
"departamentoId": 8,
"nombre": "SANTA MARIA"
},
{
"departamentoId": 8,
"nombre": "SANTA ROSA"
},
{
"departamentoId": 8,
"nombre": "SANTIAGO"
},
{
"departamentoId": 8,
"nombre": "VILLA FLORIDA"
},
{
"departamentoId": 8,
"nombre": "YABEBYRY"
},
{
"departamentoId": 9,
"nombre": "PARAGUARI"
},
{
"departamentoId": 9,
"nombre": "ACAHAY"
},
{
"departamentoId": 9,
"nombre": "CAAPUCU"
},
{
"departamentoId": 9,
"nombre": "CABALLERO"
},
{
"departamentoId": 9,
"nombre": "CARAPEGUA"
},
{
"departamentoId": 9,
"nombre": "ESCOBAR"
},
{
"departamentoId": 9,
"nombre": "LA COLMENA"
},
{
"departamentoId": 9,
"nombre": "MBUYAPEY"
},
{
"departamentoId": 9,
"nombre": "PIRAYU"
},
{
"departamentoId": 9,
"nombre": "QUIINDY"
},
{
"departamentoId": 9,
"nombre": "QUYQUYHO"
},
{
"departamentoId": 9,
"nombre": "ROQUE GONZALEZ DE SANTACRUZ"
},
{
"departamentoId": 9,
"nombre": "SAPUCAI"
},
{
"departamentoId": 9,
"nombre": "TEBICUARY-MI"
},
{
"departamentoId": 9,
"nombre": "YAGUARON"
},
{
"departamentoId": 9,
"nombre": "YBYCUI"
},
{
"departamentoId": 9,
"nombre": "YBYTYMI"
},
{
"departamentoId": 10,
"nombre": "CIUDAD DEL ESTE"
},
{
"departamentoId": 10,
"nombre": "PRESIDENTE FRANCO"
},
{
"departamentoId": 10,
"nombre": "DOMINGO MARTINEZ DE IRALA"
},
{
"departamentoId": 10,
"nombre": "DR. JUAN LEON MALLORQUIN"
},
{
"departamentoId": 10,
"nombre": "HERNANDARIAS"
},
{
"departamentoId": 10,
"nombre": "ITAKYRY"
},
{
"departamentoId": 10,
"nombre": "JUAN E. O'LEARY"
},
{
"departamentoId": 10,
"nombre": "NACUNDAY"
},
{
"departamentoId": 10,
"nombre": "YGUAZU"
},
{
"departamentoId": 10,
"nombre": "LOS CEDRALES"
},
{
"departamentoId": 10,
"nombre": "MINGA GUAZU"
},
{
"departamentoId": 10,
"nombre": "SAN CRISTOBAL"
},
{
"departamentoId": 10,
"nombre": "SANTA RITA"
},
{
"departamentoId": 10,
"nombre": "NARANJAL"
},
{
"departamentoId": 10,
"nombre": "SANTA ROSA DEL MONDAY"
},
{
"departamentoId": 10,
"nombre": "MINGA PORA"
},
{
"departamentoId": 10,
"nombre": "MBARACAYU"
},
{
"departamentoId": 10,
"nombre": "SAN ALBERTO"
},
{
"departamentoId": 10,
"nombre": "IRUNA"
},
{
"departamentoId": 10,
"nombre": "SANTA FE DEL PARANA"
},
{
"departamentoId": 10,
"nombre": "TAVAPY"
},
{
"departamentoId": 10,
"nombre": "DR. RAUL PENA"
},
{
"departamentoId": 11,
"nombre": "AREGUA"
},
{
"departamentoId": 11,
"nombre": "CAPIATA"
},
{
"departamentoId": 11,
"nombre": "FERNANDO DE LA MORA"
},
{
"departamentoId": 11,
"nombre": "GUARAMBARE"
},
{
"departamentoId": 11,
"nombre": "ITA"
},
{
"departamentoId": 11,
"nombre": "ITAUGUA"
},
{
"departamentoId": 11,
"nombre": "LAMBARE"
},
{
"departamentoId": 11,
"nombre": "LIMPIO"
},
{
"departamentoId": 11,
"nombre": "LUQUE"
},
{
"departamentoId": 11,
"nombre": "MARIANO ROQUE ALONSO"
},
{
"departamentoId": 11,
"nombre": "NUEVA ITALIA"
},
{
"departamentoId": 11,
"nombre": "NEMBY"
},
{
"departamentoId": 11,
"nombre": "SAN ANTONIO"
},
{
"departamentoId": 11,
"nombre": "SAN LORENZO"
},
{
"departamentoId": 11,
"nombre": "VILLA ELISA"
},
{
"departamentoId": 11,
"nombre": "VILLETA"
},
{
"departamentoId": 11,
"nombre": "YPACARAI"
},
{
"departamentoId": 11,
"nombre": "YPANE"
},
{
"departamentoId": 11,
"nombre": "J. AUGUSTO SALDIVAR"
},
{
"departamentoId": 12,
"nombre": "PILAR"
},
{
"departamentoId": 12,
"nombre": "ALBERDI"
},
{
"departamentoId": 12,
"nombre": "CERRITO"
},
{
"departamentoId": 12,
"nombre": "DESMOCHADOS"
},
{
"departamentoId": 12,
"nombre": "GRAL. JOSE EDUVIGIS DIAZ"
},
{
"departamentoId": 12,
"nombre": "GUAZU-CUA"
},
{
"departamentoId": 12,
"nombre": "HUMAITA"
},
{
"departamentoId": 12,
"nombre": "ISLA UMBU"
},
{
"departamentoId": 12,
"nombre": "LAURELES"
},
{
"departamentoId": 12,
"nombre": "MAYOR JOSE DEJESUS MARTINEZ"
},
{
"departamentoId": 12,
"nombre": "PASO DE PATRIA"
},
{
"departamentoId": 12,
"nombre": "SAN JUAN BAUTISTA DE NEEMBUCU"
},
{
"departamentoId": 12,
"nombre": "TACUARAS"
},
{
"departamentoId": 12,
"nombre": "VILLA FRANCA"
},
{
"departamentoId": 12,
"nombre": "VILLA OLIVA"
},
{
"departamentoId": 12,
"nombre": "VILLALBIN"
},
{
"departamentoId": 13,
"nombre": "PEDRO JUAN CABALLERO"
},
{
"departamentoId": 13,
"nombre": "BELLA VISTA"
},
{
"departamentoId": 13,
"nombre": "CAPITAN BADO"
},
{
"departamentoId": 13,
"nombre": "ZANJA PYTA"
},
{
"departamentoId": 13,
"nombre": "KARAPAI"
},
{
"departamentoId": 14,
"nombre": "SALTO DEL GUAIRA"
},
{
"departamentoId": 14,
"nombre": "CORPUS CHRISTI"
},
{
"departamentoId": 14,
"nombre": "VILLA CURUGUATY"
},
{
"departamentoId": 14,
"nombre": "VILLA YGATIMI"
},
{
"departamentoId": 14,
"nombre": "ITANARA"
},
{
"departamentoId": 14,
"nombre": "YPEJHU"
},
{
"departamentoId": 14,
"nombre": "FRANCISCO CABALLERO ALVAREZ"
},
{
"departamentoId": 14,
"nombre": "KATUETE"
},
{
"departamentoId": 14,
"nombre": "LA PALOMA DEL ESPIRITU SANTO"
},
{
"departamentoId": 14,
"nombre": "NUEVA ESPERANZA"
},
{
"departamentoId": 14,
"nombre": "YASY CANY"
},
{
"departamentoId": 14,
"nombre": "YBYRAROBANA"
},
{
"departamentoId": 14,
"nombre": "YBY PYTA"
},
{
"departamentoId": 15,
"nombre": "BENJAMIN ACEVAL"
},
{
"departamentoId": 15,
"nombre": "PUERTO PINASCO"
},
{
"departamentoId": 15,
"nombre": "VILLA HAYES"
},
{
"departamentoId": 15,
"nombre": "NANAWA"
},
{
"departamentoId": 15,
"nombre": "JOSE FALCON"
},
{
"departamentoId": 15,
"nombre": "TTE. 1ER MANUEL IRALA FERNANDEZ"
},
{
"departamentoId": 15,
"nombre": "TENIENTE ESTEBAN MARTINEZ"
},
{
"departamentoId": 15,
"nombre": "GENERAL JOSE MARIA BRUGUEZ"
},
{
"departamentoId": 16,
"nombre": "MARISCAL JOSE FELIX ESTIGARRIBIA"
},
{
"departamentoId": 16,
"nombre": "FILADELFIA"
},
{
"departamentoId": 16,
"nombre": "LOMA PLATA"
},
{
"departamentoId": 17,
"nombre": "FUERTE OLIMPO"
},
{
"departamentoId": 17,
"nombre": "PUERTO CASADO"
},
{
"departamentoId": 17,
"nombre": "BAHIA NEGRA"
},
{
"departamentoId": 17,
"nombre": "CARMELO PERALTA"
}
]
\ No newline at end of file
[
{
"id": 0,
"nombre": "ASUNCION"
},
{
"id": 1,
"nombre": "CONCEPCION"
},
{
"id": 2,
"nombre": "SAN PEDRO"
},
{
"id": 3,
"nombre": "CORDILLERA"
},
{
"id": 4,
"nombre": "GUAIRA"
},
{
"id": 5,
"nombre": "CAAGUAZU"
},
{
"id": 6,
"nombre": "CAAZAPA"
},
{
"id": 7,
"nombre": "ITAPUA"
},
{
"id": 8,
"nombre": "MISIONES"
},
{
"id": 9,
"nombre": "PARAGUARI"
},
{
"id": 10,
"nombre": "ALTO PARANA"
},
{
"id": 11,
"nombre": "CENTRAL"
},
{
"id": 12,
"nombre": "NEEMBUCU"
},
{
"id": 13,
"nombre": "AMAMBAY"
},
{
"id": 14,
"nombre": "CANINDEYU"
},
{
"id": 15,
"nombre": "PRESIDENTE HAYES"
},
{
"id": 16,
"nombre": "BOQUERON"
},
{
"id": 17,
"nombre": "ALTO PARAGUAY"
}
]
\ No newline at end of file
[ [
{ {
"resumen": "Esse elit mollit minim pariatur ea dolor nulla aute ullamco duis reprehenderit cillum.", "resumen": "In irure aliquip qui cillum veniam sint amet amet sint ex proident anim mollit.",
"nombre": "Lorraine", "nacionalidad":"Paraguayo",
"apellido": "Hensley", "estadoCivil":"Soltero",
"correo": "mercadospears@translink.com", "tipoDocumento":"ci",
"ci": 3679238, "nombre": "Taylor",
"ciudad": "Clarence", "apellido": "Obrien",
"telefono": "(851) 511-3993", "correo": "gladysalexander@dadabase.com",
"fechaNacimiento": "2021-08-13", "ci": 5821432,
"nivelIngles": 2, "ciudadId": 238,
"telefono": "(950) 417-3681",
"fechaNacimiento": "2021-08-16",
"nivelIngles": 1,
"disponibilidad": "C", "disponibilidad": "C",
"modalidad": "P",
"experiencias": [ "experiencias": [
{ {
"institucion": "Housedown", "institucion": "Fanfare",
"fechaDesde": "2014-01-29", "fechaDesde": "2014-09-10",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "tipoExperiencia":"Trabajo Normal",
"descripcion": "Lorem proident ullamco consectetur magna officia reprehenderit culpa consectetur cupidatat aute commodo et voluptate incididunt.", "cargo": "dba",
"nombreReferencia": "Clayton", "descripcion": "Enim qui Lorem ut magna.",
"telefonoReferencia": "(924) 476-3465", "nombreReferencia": "Marissa",
"reconocimientos": [ "telefonoReferencia": "(804) 471-2089"
{
"nombre": "mejor alumno",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "ua", "estado": "SUSPENDIDO",
"fechaDesde": "2014-06-15", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-08-28",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "lic inf", "temaDeEstudio": "analista"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "c#" "nombre": "JAVA"
}, },
"nivel": 3 "nivel": 5
}, },
{ {
"tecnologia": { "tecnologia": {
"nombre": "JAVA" "nombre": "Python"
}, },
"nivel": 1 "nivel": 4
},
{
"tecnologia": {
"nombre": "C"
},
"nivel": 5
} }
] ]
}, },
{ {
"resumen": "Aute est duis qui incididunt nulla minim officia officia non nulla consectetur adipisicing occaecat.", "resumen": "Do nostrud aliqua adipisicing in sunt aute id do elit ut dolor ad aliquip.",
"nombre": "Stanton", "nacionalidad":"Paraguayo",
"apellido": "Adams", "estadoCivil":"Soltero",
"correo": "leonvazquez@syntac.com", "tipoDocumento":"ci",
"ci": 4577602, "nombre": "Hopkins",
"ciudad": "Tuskahoma", "apellido": "Parks",
"telefono": "(955) 586-3144", "correo": "grahamgriffith@zilidium.com",
"fechaNacimiento": "2021-04-11", "ci": 4213361,
"nivelIngles": 1, "ciudadId": 96,
"disponibilidad": "P", "telefono": "(866) 560-2541",
"modalidad": "P", "fechaNacimiento": "2021-09-04",
"nivelIngles": 5,
"disponibilidad": "C",
"experiencias": [ "experiencias": [
{ {
"institucion": "Centuria", "institucion": "Pyramia",
"fechaDesde": "2014-08-21", "fechaDesde": "2014-07-15",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "cargo": "developer frontend",
"descripcion": "Dolor sit aliqua consequat in ullamco in ea.", "descripcion": "Consequat fugiat qui sint deserunt ullamco.",
"nombreReferencia": "Sharlene", "nombreReferencia": "Iva",
"telefonoReferencia": "(849) 570-2353", "tipoExperiencia":"Trabajo Normal",
"reconocimientos": [ "telefonoReferencia": "(947) 580-2363"
{
"nombre": "ganador de x",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "ua", "estado": "SUSPENDIDO",
"fechaDesde": "2014-01-07", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-07-08",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "ing inf", "temaDeEstudio": "lic inf"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "python" "nombre": "Spring"
}, },
"nivel": 4 "nivel": 2
},
{
"tecnologia": {
"nombre": "c"
},
"nivel": 4
} }
] ]
}, },
{ {
"resumen": "Aute consequat occaecat ipsum dolore ad enim ut.", "resumen": "Occaecat non cupidatat amet reprehenderit consectetur ullamco et.",
"nombre": "Grace", "nacionalidad":"Paraguayo",
"apellido": "Joyner", "estadoCivil":"Soltero",
"correo": "miriamlevy@quizka.com", "tipoDocumento":"ci",
"ci": 5206543, "nombre": "Alejandra",
"ciudad": "Wikieup", "apellido": "Riggs",
"telefono": "(941) 577-2187", "correo": "ruthrobertson@homelux.com",
"fechaNacimiento": "2021-03-05", "ci": 4605787,
"ciudadId": 30,
"telefono": "(876) 580-2411",
"fechaNacimiento": "2021-01-28",
"nivelIngles": 3, "nivelIngles": 3,
"disponibilidad": "C", "disponibilidad": "P",
"modalidad": "S",
"experiencias": [ "experiencias": [
{ {
"institucion": "Aquamate", "institucion": "Geeky",
"fechaDesde": "2014-10-20", "fechaDesde": "2014-08-26",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "cargo": "dba",
"descripcion": "In pariatur sint minim commodo enim labore esse tempor fugiat veniam.", "tipoExperiencia":"Trabajo Normal",
"nombreReferencia": "Sonya", "descripcion": "Aute culpa ea mollit adipisicing dolore dolore amet adipisicing occaecat commodo enim cillum.",
"telefonoReferencia": "(816) 540-2926", "nombreReferencia": "Rose",
"reconocimientos": [ "telefonoReferencia": "(853) 471-2006"
{
"nombre": "ganador de x",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "una", "estado": "SUSPENDIDO",
"fechaDesde": "2014-11-05", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-02-13",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "lic inf", "temaDeEstudio": "lic inf"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "laravel" "nombre": "Django"
}, },
"nivel": 4 "nivel": 3
}, }
]
},
{
"resumen": "Qui ullamco excepteur velit ad ullamco id id nisi irure dolore cupidatat mollit ullamco veniam.",
"nacionalidad":"Paraguayo",
"estadoCivil":"Soltero",
"tipoDocumento":"ci",
"nombre": "Angelina",
"apellido": "Wallace",
"correo": "christiwalls@capscreen.com",
"ci": 4591352,
"ciudadId": 65,
"telefono": "(931) 499-3122",
"fechaNacimiento": "2021-06-05",
"nivelIngles": 4,
"disponibilidad": "C",
"experiencias": [
{
"institucion": "Orbiflex",
"fechaDesde": "2014-08-19",
"fechaHasta": "2016-01-01",
"cargo": "developer backend",
"descripcion": "Aliquip occaecat minim dolor enim commodo.",
"nombreReferencia": "Elba",
"telefonoReferencia": "(881) 568-2597",
"tipoExperiencia":"Trabajo Normal"
}
],
"estudios": [
{
"tipoDeEstudio": "TERCIARIO",
"estado": "SUSPENDIDO",
"institucion": {"nombre":"UNA"},
"fechaDesde": "2014-12-22",
"fechaHasta": "2016-01-01",
"temaDeEstudio": "ing inf"
}
],
"tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "dot net" "nombre": "Flutter"
}, },
"nivel": 1 "nivel": 2
} }
] ]
}, },
{ {
"resumen": "Ex est enim pariatur ut proident do ullamco sit nulla aute irure ullamco.", "resumen": "Deserunt tempor ut et eiusmod et labore Lorem.",
"nombre": "Pat", "nacionalidad":"Paraguayo",
"apellido": "Kim", "estadoCivil":"Soltero",
"correo": "cheribenton@interodeo.com", "tipoDocumento":"ci",
"ci": 2095699, "nombre": "Rivas",
"ciudad": "Ferney", "apellido": "Owens",
"telefono": "(802) 538-3821", "correo": "shirleyguzman@equitox.com",
"fechaNacimiento": "2021-07-23", "ci": 3969318,
"nivelIngles": 2, "ciudadId": 143,
"telefono": "(972) 524-2610",
"fechaNacimiento": "2021-09-09",
"nivelIngles": 5,
"disponibilidad": "P", "disponibilidad": "P",
"modalidad": "R",
"experiencias": [ "experiencias": [
{ {
"institucion": "Shopabout", "institucion": "Uncorp",
"fechaDesde": "2014-11-09", "fechaDesde": "2014-02-01",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "cargo": "developer backend",
"descripcion": "Reprehenderit deserunt ea laboris occaecat pariatur veniam officia irure quis occaecat elit laboris eiusmod officia.", "descripcion": "Dolore nulla deserunt fugiat est reprehenderit tempor qui excepteur.",
"nombreReferencia": "Bray", "nombreReferencia": "Crawford",
"telefonoReferencia": "(824) 544-3117", "telefonoReferencia": "(903) 568-2045",
"reconocimientos": [ "tipoExperiencia":"Trabajo Normal"
{
"nombre": "ganador de x",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "uca", "estado": "SUSPENDIDO",
"fechaDesde": "2014-07-08", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-08-03",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "ing inf", "temaDeEstudio": "lic inf"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "spring" "nombre": "Switf"
}, },
"nivel": 1 "nivel": 5
} }
] ]
}, },
{ {
"resumen": "Commodo sunt officia aliquip sunt incididunt sit nostrud laboris adipisicing enim velit occaecat cupidatat.", "resumen": "Aliqua est adipisicing do exercitation sit laborum aliquip aliqua adipisicing enim aute.",
"nombre": "Shelia", "nacionalidad":"Paraguayo",
"apellido": "Moore", "estadoCivil":"Soltero",
"correo": "auroraweaver@extragene.com", "tipoDocumento":"ci",
"ci": 3943771, "nombre": "Estelle",
"ciudad": "Bourg", "apellido": "Gamble",
"telefono": "(929) 413-3014", "correo": "mclaughlinpate@enomen.com",
"fechaNacimiento": "2021-04-03", "ci": 2329745,
"ciudadId": 248,
"telefono": "(933) 501-3525",
"fechaNacimiento": "2021-03-24",
"nivelIngles": 1, "nivelIngles": 1,
"disponibilidad": "C", "disponibilidad": "P",
"modalidad": "S",
"experiencias": [ "experiencias": [
{ {
"institucion": "Rugstars", "institucion": "Extrawear",
"fechaDesde": "2014-02-06", "fechaDesde": "2014-11-10",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "cargo": "developer frontend",
"descripcion": "Lorem ipsum adipisicing et minim nulla anim nulla est qui labore laborum dolore.", "descripcion": "Do do est ad ea pariatur aliquip sit ipsum in duis laborum velit magna.",
"nombreReferencia": "Jeannine", "nombreReferencia": "Schultz",
"telefonoReferencia": "(851) 533-2842", "telefonoReferencia": "(903) 420-3902",
"reconocimientos": [ "tipoExperiencia":"Trabajo Normal"
{
"nombre": "ganador de x",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "uca", "estado": "SUSPENDIDO",
"fechaDesde": "2014-09-16", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-07-13",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "ing inf", "temaDeEstudio": "ing inf"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "postgres" "nombre": "SL"
}, },
"nivel": 2 "nivel": 4
} }
] ]
}, },
{ {
"resumen": "Tempor sunt non officia reprehenderit consequat est deserunt nisi ut tempor quis eu.", "resumen": "Officia eiusmod ut reprehenderit tempor consequat elit amet ex voluptate aute anim do.",
"nombre": "Clarissa", "nacionalidad":"Paraguayo",
"apellido": "Moses", "estadoCivil":"Soltero",
"correo": "clarkshepherd@imant.com", "tipoDocumento":"ci",
"ci": 1710741, "nombre": "Mariana",
"ciudad": "Rivers", "apellido": "Ratliff",
"telefono": "(871) 416-2866", "correo": "loramiddleton@musanpoly.com",
"fechaNacimiento": "2021-10-26", "ci": 4519594,
"nivelIngles": 2, "ciudadId": 104,
"telefono": "(817) 492-2493",
"fechaNacimiento": "2021-07-30",
"nivelIngles": 5,
"disponibilidad": "P", "disponibilidad": "P",
"modalidad": "S",
"experiencias": [ "experiencias": [
{ {
"institucion": "Imperium", "institucion": "Uberlux",
"fechaDesde": "2014-11-15", "fechaDesde": "2014-07-01",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"cargo": "developer frontend", "cargo": "developer backend",
"descripcion": "Incididunt id elit do officia esse in aute duis ipsum ea incididunt.", "descripcion": "Anim labore anim veniam deserunt ex aute.",
"nombreReferencia": "Tamara", "nombreReferencia": "Francesca",
"telefonoReferencia": "(846) 444-3812", "telefonoReferencia": "(961) 420-2150",
"reconocimientos": [ "tipoExperiencia":"Trabajo Normal"
{
"nombre": "ganador de x",
"certificado": "cert"
}
]
} }
], ],
"estudios": [ "estudios": [
{ {
"tipoDeEstudio": "universitario", "tipoDeEstudio": "TERCIARIO",
"institucion": "uca", "estado": "SUSPENDIDO",
"fechaDesde": "2014-12-21", "institucion": {"nombre":"UNA"},
"fechaDesde": "2014-10-03",
"fechaHasta": "2016-01-01", "fechaHasta": "2016-01-01",
"titulo": "ing inf", "temaDeEstudio": "ing inf"
"estudioReconocimiento": [
{
"nombre": "titest",
"certificado": "titest"
}
]
} }
], ],
"tecnologias": [ "tecnologias": [
{ {
"tecnologia": { "tecnologia": {
"nombre": "django" "nombre": "Scala"
}, },
"nivel": 1 "nivel": 5
} }
] ]
} }
......
...@@ -315,6 +315,27 @@ function eliminarEstudio(event) { ...@@ -315,6 +315,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);
}
...@@ -171,7 +171,23 @@ ...@@ -171,7 +171,23 @@
Luce Bien! Luce Bien!
</div> </div>
</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"> <div class="inputs mb-3 col-md-6">
<label for="ci" class="form-label">Cedula de identidad</label> <label for="ci" class="form-label">Cedula de identidad</label>
...@@ -181,13 +197,23 @@ ...@@ -181,13 +197,23 @@
</div> </div>
</div> </div>
<div class="inputs mb-3 col-md-6"> <div class="inputs mb-3 col-md-6">
<label form="ciudad" class="form-label">Ciudad</label> <label for="departamentos" class="form-label"> Departamentos</label>
<input type="text" name="ciudad" class="form-control " id="ciudad" required> <select id="departamentos" class="bg-light">
<div class="valid-feedback"> <c:forEach items="${departamentos}" var="departamentos">
Luce Bien! <option value="${departamentos.getId()}">${departamentos.getNombre()}</option>
</div> </c:forEach>
</select>
</div> </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"> <div class="inputs mb-3 col-md-6">
<label for="telefono" class="form-label">Telefono</label> <label for="telefono" class="form-label">Telefono</label>
<input type="number" name="telefono" class="form-control " id="telefono" required> <input type="number" name="telefono" class="form-control " id="telefono" required>
...@@ -225,10 +251,10 @@ ...@@ -225,10 +251,10 @@
</select> </div> </select> </div>
<div class="inputs mb-3 col-md-6"> <div class="inputs mb-3 col-md-6">
<label for="modalidad" class="form-label"> Modalidad</label> <label for="estadoCivil" class="form-label"> Estado Civil</label>
<select name="modalidad" id="modalidad" class="bg-light"> <select name="estadoCivil" id="estadoCivil" class="bg-light">
<c:forEach items="${modalidades}" var="modalidad"> <c:forEach items="${estadosCiviles}" var="estadoCivil">
<option value="${modalidad.getCode()}">${modalidad.getDescripcion()}</option> <option value="${estadoCivil.getDescripcion()}">${estadoCivil.getDescripcion()}</option>
</c:forEach> </c:forEach>
...@@ -316,35 +342,22 @@ ...@@ -316,35 +342,22 @@
<label for="refTel" class="form-label">Telefono de la Referencia</label> <label for="refTel" class="form-label">Telefono de la Referencia</label>
<input type="text" class="form-control " name="telefonoReferencia" id="refTel" > <input type="text" class="form-control " name="telefonoReferencia" id="refTel" >
</div> </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> </form>
</div> </div>
...@@ -462,6 +475,10 @@ ...@@ -462,6 +475,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://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://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 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> <script src="./main.js"></script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
<tr> <tr>
<th scope="col">#</th> <th scope="col">#</th>
<th scope="col">Nombre</th> <th scope="col">Nombre</th>
<th scope="col">Modalidad</th>
<th scope="col">Disponibilidad</th> <th scope="col">Disponibilidad</th>
<th scope="col">Nivel de Ingles</th> <th scope="col">Nivel de Ingles</th>
<th scope="col">Experiencia</th> <th scope="col">Experiencia</th>
...@@ -53,7 +52,6 @@ ...@@ -53,7 +52,6 @@
<tr> <tr>
<th scope="row">${staPost.index + 1}</th> <th scope="row">${staPost.index + 1}</th>
<td>${postulante.nombre} ${postulante.apellido}</td> <td>${postulante.nombre} ${postulante.apellido}</td>
<td>${postulante.modalidad.getDescripcion()}</td>
<td>${postulante.disponibilidad.getDescripcion()}</td> <td>${postulante.disponibilidad.getDescripcion()}</td>
<td>${postulante.nivelIngles}</td> <td>${postulante.nivelIngles}</td>
<td>0</td> <td>0</td>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment