diff --git a/curriculumsearch/pom.xml b/curriculumsearch/pom.xml index 8578ca1..4575652 100644 --- a/curriculumsearch/pom.xml +++ b/curriculumsearch/pom.xml @@ -68,6 +68,13 @@ org.springframework.boot spring-boot-starter-security + + + org.projectlombok + lombok + 1.18.22 + provided + org.springframework.boot spring-boot-starter-mail diff --git a/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java b/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java index 262e9da..8d2bfdd 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java @@ -34,7 +34,7 @@ public class CargoController { @RequestMapping("/cargos") public String menuCargos(Model model,@RequestParam(required = false) String nombre,@RequestParam(defaultValue = "0")Integer nroPagina) { - final Integer CANTIDAD_POR_PAGINA = 1; + final Integer CANTIDAD_POR_PAGINA = 10; Pageable page = PageRequest.of(nroPagina,CANTIDAD_POR_PAGINA,Sort.by("id")); Page CargoPag=cargoRepo.findAllCargo(page); List cargo = CargoPag.getContent(); diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java index f1e32f8..d63bba8 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java @@ -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()); diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java index 3d4cf94..0acce9a 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java @@ -91,7 +91,7 @@ public class PostulanteRRHHController { @RequestParam(required = false)Long convId, @RequestParam(defaultValue = "0")Integer nroPagina ) { - final Integer CANTIDAD_POR_PAGINA = 5; + final Integer CANTIDAD_POR_PAGINA = 10; Pageable page = PageRequest.of(nroPagina,CANTIDAD_POR_PAGINA,Sort.by("id")); model.addAttribute("tecnologias", tecRepo.findAll()); model.addAttribute("disponibilidades", Disponibilidad.values()); diff --git a/curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java b/curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java index fae8e1b..9c89632 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java @@ -45,7 +45,7 @@ public String addtecnologiaView(Model model,@PathVariable(required = false) Long @RequestMapping("/tecnologias") public String menuTecnologias(Model model,@RequestParam(required = false) String nombre,@RequestParam(defaultValue = "0")Integer nroPagina) { - final Integer CANTIDAD_POR_PAGINA = 5; + final Integer CANTIDAD_POR_PAGINA = 10; Pageable page = PageRequest.of(nroPagina,CANTIDAD_POR_PAGINA,Sort.by("id")); Page tecnologiaPag=tecRepo.findAllTecnologia(page); List tecnologia = tecnologiaPag.getContent(); diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Cargo.java b/curriculumsearch/src/main/java/com/roshka/modelo/Cargo.java index 7a74fd6..ff93814 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Cargo.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Cargo.java @@ -13,7 +13,9 @@ import javax.validation.constraints.NotBlank; import com.fasterxml.jackson.annotation.JsonManagedReference; -@Entity +import lombok.Data; + +@Entity @Data @Table(name = "cargo") public class Cargo { @Id @@ -28,19 +30,6 @@ public class Cargo { @JsonManagedReference private List 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 getConvocatorias() { return convocatorias; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java b/curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java index 6bca1c5..6e29d3f 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Ciudad.java @@ -14,8 +14,10 @@ import javax.persistence.Table; import com.fasterxml.jackson.annotation.JsonBackReference; +import lombok.Data; -@Entity + +@Entity @Data @Table(name="ciudad") public class Ciudad{ @Id @@ -40,7 +42,7 @@ public class Ciudad{ @JsonBackReference private Departamento departamento; - +/* public Long getId() { return this.id; } @@ -56,7 +58,7 @@ public class Ciudad{ public void setNombre(String nombre) { this.nombre = nombre; } - +*/ public Departamento getDepartamento() { return this.departamento; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java b/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java index 8b00983..bbcbe43 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java @@ -19,8 +19,10 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.roshka.utils.Helper; +import lombok.Data; + @Entity -@Table(name = "convocatoria_cargo") +@Table(name = "convocatoria_cargo") @Data @JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property="@UUID") public class ConvocatoriaCargo { @Id @@ -55,30 +57,14 @@ public class ConvocatoriaCargo { @ManyToMany(mappedBy = "postulaciones") private List 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; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java b/curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java index b0b1ffb..ada0007 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Departamento.java @@ -11,7 +11,9 @@ import javax.persistence.Table; import com.fasterxml.jackson.annotation.JsonManagedReference; -@Entity +import lombok.Data; + +@Entity @Data @Table(name="departamento") public class Departamento { @Id @@ -26,22 +28,6 @@ public class 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 List getCiudad() { return this.ciudad; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java b/curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java index d28f010..b4fe4a5 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Experiencia.java @@ -14,12 +14,14 @@ import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.roshka.utils.Helper; +import lombok.Data; + import javax.persistence.*; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Past; -@Entity +@Entity @Data @Table(name = "experiencia") public class Experiencia { @Id @@ -61,45 +63,17 @@ public class Experiencia { @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() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getInstitucion() { - return institucion; - } - public void setInstitucion(String institucion) { - this.institucion = institucion; - } public void setFechaDesde(String fechaDesde) { this.fechaDesde = Helper.convertirFecha(fechaDesde); } @@ -112,24 +86,6 @@ public class Experiencia { public void setFechaHasta(String fechaHasta) { this.fechaHasta = Helper.convertirFecha(fechaHasta); } - public String getNombreReferencia() { - return nombreReferencia; - } - public String getTelefonoReferencia() { - return telefonoReferencia; - } - public void setNombreReferencia(String nombreReferencia) { - this.nombreReferencia = nombreReferencia; - } - public void setTelefonoReferencia(String telefonoReferencia) { - this.telefonoReferencia = telefonoReferencia; - } - public String getCargo() { - return cargo; - } - public void setCargo(String cargo) { - this.cargo = cargo; - } public void setPostulante(Postulante postulante) { this.postulante = postulante; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Institucion.java b/curriculumsearch/src/main/java/com/roshka/modelo/Institucion.java index 3e17a42..fde025c 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Institucion.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Institucion.java @@ -2,11 +2,13 @@ package com.roshka.modelo; import com.fasterxml.jackson.annotation.JsonManagedReference; +import lombok.Data; + import javax.persistence.*; import javax.validation.constraints.NotBlank; import java.util.List; -@Entity +@Entity @Data @Table(name = "institucion") public class Institucion { @Id @@ -26,30 +28,6 @@ public class Institucion { @JsonManagedReference private List estudioList; - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getNombre() { - return nombre; - } - - public void setNombre(String nombre) { - this.nombre = nombre; - } - - public String getSubNombre() { - return subNombre; - } - - public void setSubNombre(String subNombre) { - this.subNombre = subNombre; - } - public List getEstudioList() { return estudioList; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java b/curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java index 3b62edc..6c5e612 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Nacionalidad.java @@ -3,7 +3,7 @@ package com.roshka.modelo; import com.fasterxml.jackson.annotation.JsonValue; public enum Nacionalidad { - PY("Paraguayo"),EX("Extranjero"); + PY("Paraguaya"),EX("Extranjera"); private String descripcion; diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java b/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java index 8f8569a..8c75079 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java @@ -9,6 +9,8 @@ import com.fasterxml.jackson.annotation.JsonManagedReference; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.roshka.utils.Helper; +import lombok.Data; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -17,10 +19,11 @@ import java.util.List; @Entity @Table(name="postulante") @JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property="@UUID") +@Data public class Postulante { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name="id") + @Column(name="id") private long id; @Column(name="nombre") @@ -31,16 +34,19 @@ public class Postulante { @Column(name = "apellido") @NotBlank(message = "Este campo no puede estar vacio") @Size(max = 255) + private String apellido; @Column(name = "nro_document") @NotBlank(message = "Este campo no puede estar vacio") @Size(max = 120) + private String nroDocument; @Column(name = "correo") @NotBlank(message = "Este campo no puede estar vacio") @Email(message = "Formato incorrecto de correo") + private String correo; @ManyToOne(targetEntity = Ciudad.class,fetch = FetchType.EAGER) @@ -119,175 +125,13 @@ public class Postulante { private DBFile cvFile; - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getNombre() { - return nombre; - } - - public void setNombre(String nombre) { - this.nombre = nombre; - } - - public String getApellido() { - return apellido; - } - - public void setApellido(String apellido) { - this.apellido = apellido; - } - - - public void setnroDocument(String nroDocument) { - this.nroDocument = nroDocument; - } - - public String getCorreo() { - return correo; - } - - public void setCorreo(String correo) { - this.correo = correo; - } - - public String getTelefono() { - return telefono; - } - - public void setTelefono(String telefono) { - this.telefono = telefono; - } - - public Date getFechaNacimiento() { - return fechaNacimiento; - } - - public void setFechaNacimiento(Date fechaNacimiento) { - this.fechaNacimiento = fechaNacimiento; - } + + + public void setFechaNacimiento(String fechaNacimiento) { this.fechaNacimiento = Helper.convertirFecha(fechaNacimiento); } - - public String getResumen() { - return resumen; - } - - public void setResumen(String resumen) { - this.resumen = resumen; - } - - public Long getNivelIngles() { - return nivelIngles; - } - - public void setNivelIngles(Long nivelIngles) { - this.nivelIngles = nivelIngles; - } - - public Disponibilidad getDisponibilidad() { - return disponibilidad; - } - - public Ciudad getCiudad() { - return this.ciudad; - } - - public void setCiudad(Ciudad ciudad) { - 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(TipoDocumento tipoDocumento) { - this.tipoDocumento = tipoDocumento; - } - public EstadoCivil getEstadoCivil() { - return estadoCivil; - } - public TipoDocumento getTipoDocumento() { - return tipoDocumento; - } - public Nacionalidad getNacionalidad() { - return nacionalidad; - } - - public void setNacionalidad(Nacionalidad nacionalidad) { - this.nacionalidad = nacionalidad; - } - - public void setDisponibilidad(Disponibilidad disponibilidad) { - this.disponibilidad = disponibilidad; - } - - public List getTecnologias() { - return tecnologias; - } - public void setTecnologias(List tecnologias) { - this.tecnologias = tecnologias; - } - - public List getEstudios() { - return estudios; - } - public List getExperiencias() { - return experiencias; - } - public void setEstudios(List estudios) { - this.estudios = estudios; - } - public void setExperiencias(List experiencias) { - this.experiencias = experiencias; - } - public List getPostulaciones() { - return postulaciones; - } - public void setPostulaciones(List postulaciones) { - this.postulaciones = postulaciones; - } - - public void setReferencias(List referencias) { - this.referencias = referencias; - } - - public List getReferencias() { - return referencias; - } - public EstadoPostulante getEstadoPostulante() { - return this.estadoPostulante; - } - - public void setEstadoPostulante(EstadoPostulante estadoPostulante) { - this.estadoPostulante = estadoPostulante; - } - public String getComentarioRRHH(){ - return comentarioRRHH; - } - public void setComentarioRRHH(String comentarioRRHH){ - this.comentarioRRHH=comentarioRRHH; - } - public DBFile getCvFile() { - return cvFile; - } - public String getNroDocument() { - return nroDocument; - } - public void setCvFile(DBFile cvFile) { - this.cvFile = cvFile; - } + + } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/PostulanteTecnologia.java b/curriculumsearch/src/main/java/com/roshka/modelo/PostulanteTecnologia.java index 4a041c2..4224e07 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/PostulanteTecnologia.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/PostulanteTecnologia.java @@ -15,7 +15,9 @@ import javax.validation.constraints.Min; import com.fasterxml.jackson.annotation.JsonBackReference; -@Entity + +import lombok.Data; +@Entity @Data @Table(name="postulante_tecnologia", uniqueConstraints=@UniqueConstraint(columnNames={"postulante_id", "tecnologia_id"})) @@ -39,18 +41,6 @@ public class PostulanteTecnologia { @JsonBackReference(value = "postulantetecnologia-postulante") private Postulante postulante; - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public Long getNivel() { - return nivel; - } - public void setNivel(Long nivel) { - this.nivel = nivel; - } public Tecnologia getTecnologia() { return tecnologia; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/RRHHUser.java b/curriculumsearch/src/main/java/com/roshka/modelo/RRHHUser.java index e61622f..c5907be 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/RRHHUser.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/RRHHUser.java @@ -2,7 +2,9 @@ package com.roshka.modelo; import javax.persistence.*; -@Entity +import lombok.Data; + +@Entity @Data @Table(name = "recursos_humanos_user") public class RRHHUser { @Id @@ -24,51 +26,5 @@ public class RRHHUser { @Column(name = "reset_password_token") private String resetPasswordToken; - public String getResetPasswordToken() { - return resetPasswordToken; - } - - public void setResetPasswordToken(String resetPasswordToken) { - this.resetPasswordToken = resetPasswordToken; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } + } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/ReferenciaPersonal.java b/curriculumsearch/src/main/java/com/roshka/modelo/ReferenciaPersonal.java index 00ed654..2fc95de 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/ReferenciaPersonal.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/ReferenciaPersonal.java @@ -5,7 +5,9 @@ import javax.validation.constraints.NotBlank; import com.fasterxml.jackson.annotation.JsonBackReference; -@Entity +import lombok.Data; + +@Entity @Data @Table(name = "referencia_personal") public class ReferenciaPersonal { @Id @@ -29,42 +31,9 @@ public class ReferenciaPersonal { @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; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java b/curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java index e2181d6..6932288 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java @@ -8,8 +8,10 @@ import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.NotBlank; +import lombok.Data; -@Entity + +@Entity @Data @Table(name="tecnologia") public class Tecnologia { @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -21,21 +23,4 @@ public class Tecnologia { @NotBlank(message = "Este campo no puede estar vacio") private String nombre; - - public Long getId() { - return id; - } - public void setId(Long id) { - this.id = id; - } - public String getNombre() { - return nombre; - } - public void setNombre(String nombre) { - this.nombre = nombre; - } - - - - } diff --git a/curriculumsearch/src/main/resources/json/postulante.json b/curriculumsearch/src/main/resources/json/postulante.json index ace6a6e..e94c5f4 100644 --- a/curriculumsearch/src/main/resources/json/postulante.json +++ b/curriculumsearch/src/main/resources/json/postulante.json @@ -1,7 +1,7 @@ [ { "resumen": "In irure aliquip qui cillum veniam sint amet amet sint ex proident anim mollit.", - "nacionalidad": "Paraguayo", + "nacionalidad": "Paraguaya", "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": "Paraguayo", + "nacionalidad": "Paraguaya", "postulaciones": [{ "id": 1 }], "estadoCivil": "Soltero", "tipoDocumento": "CI", @@ -107,7 +107,7 @@ }, { "resumen": "Occaecat non cupidatat amet reprehenderit consectetur ullamco et.", - "nacionalidad": "Paraguayo", + "nacionalidad": "Paraguaya", "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": "Paraguayo", + "nacionalidad": "Paraguaya", "postulaciones": [{ "id": 1 }], "estadoCivil": "Soltero", "tipoDocumento": "CI", @@ -201,7 +201,7 @@ }, { "resumen": "Deserunt tempor ut et eiusmod et labore Lorem.", - "nacionalidad": "Paraguayo", + "nacionalidad": "Paraguaya", "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": "Paraguayo", + "nacionalidad": "Paraguaya", "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": "Paraguayo", + "nacionalidad": "Paraguaya", "postulaciones": [{ "id": 1 }], "estadoCivil": "Soltero", "tipoDocumento": "CI", diff --git a/curriculumsearch/src/main/resources/static/main.js b/curriculumsearch/src/main/resources/static/main.js index 6652c4a..9c476ee 100644 --- a/curriculumsearch/src/main/resources/static/main.js +++ b/curriculumsearch/src/main/resources/static/main.js @@ -13,7 +13,18 @@ const postulaciones = []; var cont_referencias=0 ; const referencias= []; +form = document.querySelector("form"); +const depSelect = document.querySelector("#departamentos"); + +console.log("saddsa", bootstrap) +const modalCargo = bootstrap.Modal.getOrCreateInstance(document.getElementById('cargoForm')) +const modalExperiencia = bootstrap.Modal.getOrCreateInstance(document.getElementById('experienciaForm')) +const modalTecnologia = bootstrap.Modal.getOrCreateInstance(document.getElementById('tecnologiaForm')) +const modalEstudio = bootstrap.Modal.getOrCreateInstance(document.getElementById('estudioForm')) +const modalReferencia = bootstrap.Modal.getOrCreateInstance(document.getElementById('referenciaForm')) +//variable ciudades esta declarada en el jsp +/*-----------------Definicion de funciones de poblacion de elementos y validaciones----------------------------------------*/ const formValidator = function () { 'use strict' @@ -37,114 +48,66 @@ const formValidator = function () { }, false) }) } -function carg(elemento) { - var element = document.getElementById('descripcion'); - if(elemento == "otro"){ - element.style.display='block'; - }else{ - element.style.display='none'; +function fechasMaxMin(){ + var today = new Date(); + var dd = today.getDate()-1; + var mm = today.getMonth() + 1; //January is 0! + var yyyy = today.getFullYear(); + + if (dd < 10) { + dd = '0' + dd; } -} -function agregarFieldExpierncia(event){ - //recoger del form - const pairs = {}; - const formexp = document.querySelector("[name=experiencia-form]"); - formexp.classList.add('was-validated') - const formData = new FormData(formexp); - let error=validarfecha(formData.get("fechaDesde"), formData.get("fechaHasta")) - let appendTo = "Hasta"; - if (error) { - if(error.includes("desde")) appendTo = "Desde"; - formexp.querySelector(".errorfecha"+appendTo) - - formexp['fecha'+appendTo].setCustomValidity(error) - document.querySelector(".errorfecha"+appendTo).innerHTML = error; - console.log(error); - - } - else{ - formexp.fechaDesde.setCustomValidity('') - formexp.fechaHasta.setCustomValidity('') - } - - const reconocimientos = [{},{},{}]; - let pos_rec; - let returnFlag = false; + if (mm < 10) { + mm = '0' + mm; + } - let requiredValues = ["institucion", "cargo", "fechaDesde"] + today = yyyy + '-' + mm + '-' + dd; - formData.forEach((value, key)=>{ - if(requiredValues.includes(key) - && value==="" && returnFlag == false){ - console.log(key, value) - returnFlag = true; - } - }); - if(returnFlag===true){ - let message = "Rellene " - for(let i=0;i fch.addEventListener('keydown',()=>false))//no dejar cargar manualmente fechas - for (const [name, value] of formData){ - pos_rec = name.split("-");//rec-nombre-index - if (pos_rec.length > 1) { - reconocimientos[pos_rec[2]][pos_rec[1]] = value - } - else{ - pairs[name] = value - } + fechaDesdeEstudio.setAttribute("max", today); + fechaDesdeExperiencia.setAttribute("max", today); + fechaNacimiento.setAttribute("max", today); + fechaDesdeExperiencia.addEventListener("change", ()=>{ + fechaHastaExperiencia.setAttribute("min", fechaDesdeExperiencia.value) + }) + fechaDesdeEstudio.addEventListener("change", ()=>{ + fechaHastaEstudio.setAttribute("min", fechaDesdeEstudio.value) + }) +} + + 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) } - pairs["reconocimientos"] = reconocimientos.filter(rec => rec.nombre); - experiencias[cont_experiencia] = pairs; - formexp.reset(); - formexp.classList.remove('was-validated') - //imprimir lista actualizada - const div = document.querySelector("#experiencias") - const div1 = document.createElement('div'); + ciudad.replaceChildren(frag); + - let content=''; - for (let index = 0; index < experiencias.length; index++) { - const exp = experiencias[index]; - if(exp==null) continue; - content += ` -
-

Experiencia

-
-
-
-
-
-
-
- - -
- - ` - } - //content += "" - div.innerHTML = content - //div.innerHTML = ''; - //div.appendChild(div1); - cont_experiencia++; } + function validarfecha(fechaDesde, fechaHasta){ let fechadehoy= new Date().toISOString().slice(0,10); if(fechaDesde>fechadehoy ){ return "la fecha desde no puede ser mayor a la fecha actual" ; } - if(fechaHasta =! null && fechaHasta>fechadehoy){ - return "la fecha hasta no puede ser mayor a la fecha actual" ; - } + if(fechaHasta =! null && fechaDesde>fechaHasta){ return "la fecha desde no puede ser mayor a la fecha hasta"; @@ -152,7 +115,7 @@ function validarfecha(fechaDesde, fechaHasta){ return false } -/*--------------------------------------------------------------------*/ +/*-----------------Tecnologia----------------------------------------*/ function agregarFieldTecnologia(){ //recoger del form const pairs = {}; @@ -201,11 +164,11 @@ function agregarFieldTecnologia(){ const tecn = tecnologias[index]; if(tecn==null) continue; content1 += ` -
-
-
- -
+
+ ${tecn.tecnologia.nombre} ( ${tecn.nivel} )   + + +
` @@ -216,147 +179,138 @@ function agregarFieldTecnologia(){ //div.appendChild(div1); cont_tecnologia++; document.querySelector("#no-valid-tecno").style.display = "none"; + modalTecnologia.hide() } - - -/*--------------------------------------------------------------------*/ -function eliminarExperiencia(event) { - //eliminar del array - experiencias[event.target.parentElement.id.split("-")[1]]=null - //eliminar en html - event.target.parentElement.remove() -} -/*----------------------------------------------------------------- */ function eliminarTecnologia(event) { //eliminar del array tecnologias[event.target.parentElement.id.split("-")[1]]=null //eliminar en html event.target.parentElement.remove() } -/*----------------------------------------------------------------- */ -function serializeJSON (form) { - // Create a new FormData object - const formData = new FormData(form); - if(formData.get('fechaNacimiento')>=new Date().toISOString().slice(0,10)){ - form['fechaNacimiento'].setCustomValidity('Fecha de nacimiento debe ser menor que actual') - noValidateFlag = true; - return; +/*----------------Experiencia-----------------------------------------*/ +function agregarFieldExpierncia(event){ + //recoger del form + const pairs = {}; + const formexp = document.querySelector("[name=experiencia-form]"); + formexp.classList.add('was-validated') + const formData = new FormData(formexp); + let error=validarfecha(formData.get("fechaDesde"), formData.get("fechaHasta")) + let appendTo = "Hasta"; + if (error) { + + if(error.includes("desde")) appendTo = "Desde"; + + + formexp['fecha'+appendTo].setCustomValidity(error) + formexp.querySelector(".errorFecha"+appendTo).innerHTML = error; + console.log(error); + } else{ - form['fechaNacimiento'].setCustomValidity('') + formexp.fechaDesde.setCustomValidity('') + formexp.fechaHasta.setCustomValidity('') } + + const reconocimientos = [{},{},{}]; + let pos_rec; + let returnFlag = false; + let requiredValues = ["institucion", "cargo", "fechaDesde"] - // Create an object to hold the name/value pairs - const pairs = {}; + formData.forEach((value, key)=>{ + if(requiredValues.includes(key) + && value==="" && returnFlag == false){ + console.log(key, value) + returnFlag = true; + } + }); - // Add each name/value pair to the object - for (const [name, value] of formData) { - pairs[name] = value - } - pairs["experiencias"] = experiencias.filter(exp => exp)//eliminacion de nulos - pairs["estudios"] = estudios.filter(est => est)//eliminacion de nulos - pairs["tecnologias"] = tecnologias.filter(tec => tec)//eliminacion de nulos - pairs["postulaciones"] = postulaciones.filter(car => car)//eliminacion de nulos - pairs["referencias"] = referencias.filter(tec => tec) - if(pairs["postulaciones"].length<1){ - document.querySelector("#no-valid-cargo").style.display = "block"; - noValidateFlag = true; - }else{ - document.querySelector("#no-valid-cargo").style.display = "none"; - } - console.log(pairs["tecnologias"]) - if(pairs["tecnologias"].length<1){ - document.querySelector("#no-valid-tecno").style.display = "block"; - noValidateFlag = true; - }else{ - document.querySelector("#no-valid-tecno").style.display = "none"; - } - if(noValidateFlag){ + if(returnFlag===true){ + let message = "Rellene " + for(let i=0;i 1) { + reconocimientos[pos_rec[2]][pos_rec[1]] = value + } + else{ + pairs[name] = value + } -async function postData(url = '', data = {}) { - var token = document.querySelector("meta[name='_csrf']").content; - var headerxs = document.querySelector("meta[name='_csrf_header']").content; - // Default options are marked with * - let senddata = { - method: 'POST', // *GET, POST, PUT, DELETE, etc. - mode: 'cors', // no-cors, *cors, same-origin - cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached - credentials: 'same-origin', // include, *same-origin, omit - headers: { - //'Content-Type': undefined//'application/json', - // 'Content-Type': 'application/x-www-form-urlencoded', - }, - redirect: 'follow', // manual, *follow, error - referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url - body: data // body data type must match "Content-Type" header } - senddata["headers"][headerxs] = token; - let response = null - if(!noValidateFlag){ - response = await fetch(url, senddata); + pairs["reconocimientos"] = reconocimientos.filter(rec => rec.nombre); + experiencias[cont_experiencia] = pairs; + formexp.reset(); + formexp.classList.remove('was-validated') + //imprimir lista actualizada + const div = document.querySelector("#experiencias") + const div1 = document.createElement('div'); + + let content=''; + for (let index = 0; index < experiencias.length; index++) { + const exp = experiencias[index]; + if(exp==null) continue; + content += ` +
+

Experiencia

+
+
+
+
+
+
+
+ + +
+ + ` } - return response; // parses JSON response into native JavaScript objects + //content += "" + div.innerHTML = content + //div.innerHTML = ''; + //div.appendChild(div1); + cont_experiencia++; + modalExperiencia.hide() } - -function formatearJsonWithFile(json, file){ - formData = new FormData(); - - formData.append("file", file); - formData.append('postulante', new Blob([json], { - type: "application/json" - })); - return formData +function eliminarExperiencia(index) { + //eliminar del array + experiencias[index]=null + //eliminar en html + document.getElementById("exp-"+index).remove() + //event.target.parentElement.remove() } -formValidator() -form = document.querySelector("form"); -form.addEventListener("submit",(evt)=>{ - // if (!form.checkValidity()) { - // evt.preventDefault() - // evt.stopPropagation() - // } - // form.classList.add('was-validated') - evt.preventDefault(); - let formSerialized = serializeJSON(form); - let fileCV = obtenerCV(); - if(!noValidateFlag){ - postData('work-with-us', formatearJsonWithFile(formSerialized,fileCV)) - .then(response => { - if(response.status==200 || response.status==302){ - location.replace(response.url); - }else{ - console.log(response.text().then(value => console.log(value))) - } - }); - } - noValidateFlag = false -} ); - - - -//Metodos para Estudios - - +/*---------------Estudios---------------------------*/ function agregarFieldEstudio(){ //recoger del form let pairs = {}; const formest = document.querySelector("[name=estudio-form]"); const formData = new FormData(formest); + formest.classList.add('was-validated') + let error=validarfecha(formData.get("fechaDesde"), formData.get("fechaHasta")) + let appendTo = "Hasta"; + if (error) { + + if(error.includes("desde")) appendTo = "Desde"; + + formest['fecha'+appendTo].setCustomValidity(error) + formest.querySelector(".errorFecha"+appendTo).innerHTML = error; + console.log(error); + + } + else{ + formest.fechaDesde.setCustomValidity('') + formest.fechaHasta.setCustomValidity('') + } //Validacion let returnFlag = false; @@ -377,7 +331,7 @@ function agregarFieldEstudio(){ message+=", "+requiredValues[i]; } message += " como minimo." - alert(message); + //alert(message); return; } @@ -413,14 +367,14 @@ function agregarFieldEstudio(){ if(est==null) continue; content += `
-

Estudio

+

Estudio







- +
` @@ -430,20 +384,17 @@ function agregarFieldEstudio(){ //div.innerHTML = ''; //div.appendChild(div1); cont_estudios++; - + formest.classList.remove('was-validated') + 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(){ //recoger del form const pairs = {}; @@ -500,9 +451,9 @@ function agregarFieldCargo(){ const car = postulaciones[index]; if(car==null) continue; content1 += ` -
-
-
+
+ ${document.querySelector('[name=cargo-id] > option[value="'+car.id+'"]').innerHTML} +
` @@ -513,49 +464,21 @@ function agregarFieldCargo(){ //div.appendChild(div1); cont_cargo++; document.querySelector("#no-valid-cargo").style.display = "none"; + modalCargo.hide() } - -/*---------------------------------------------------------------------------------------------------*/ function eliminarCargoPostulante(event) { //eliminar del array postulaciones[event.target.parentElement.id.split("-")[1]]=null //eliminar en html event.target.parentElement.remove() } -/*--------------------------------------------------------------------*/ - - -//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); - - -} - - +/*--------------Referencias----------------------------- */ function agregarFieldReferencia(event){ //recoger del form const pairs = {}; const formexp = document.querySelector("[name=referencia-form]"); + formexp.classList.add('was-validated') const formData = new FormData(formexp); const referenciaPersonal = [{},{},{}]; let pos_rec; @@ -577,7 +500,7 @@ function agregarFieldReferencia(event){ message+=", "+requiredValues[i]; } message += " como minimo." - alert(message); + //alert(message); return; } @@ -602,12 +525,13 @@ function agregarFieldReferencia(event){ const exp = referencias[index]; if(exp==null) continue; content += ` -
-

Referencia Personal

+
+

Referencia Personal

+


- +
` @@ -617,71 +541,147 @@ function agregarFieldReferencia(event){ //div.innerHTML = ''; //div.appendChild(div1); cont_referencias++; + formexp.classList.remove('was-validated') + modalReferencia.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() } -/*----------------------------------------------------------------- */ - - - -/*--------------------------------------------------------------------------------------------------------- */ -// $(function(){ -// $("#wizard").steps({ -// headerTag: "h4", -// bodyTag: "section", -// transitionEffect: "fade", -// enableAllSteps: true, -// transitionEffectSpeed: 500, -// onStepChanging: function (event, currentIndex, newIndex) { -// if ( newIndex === 1 ) { -// $('.steps ul').addClass('step-2'); -// } else { -// $('.steps ul').removeClass('step-2'); -// } -// if ( newIndex === 2 ) { -// $('.steps ul').addClass('step-3'); -// } else { -// $('.steps ul').removeClass('step-3'); -// } -// -// if ( newIndex === 3 ) { -// $('.steps ul').addClass('step-4'); -// $('.actions ul').addClass('step-last'); -// } else { -// $('.steps ul').removeClass('step-4'); -// $('.actions ul').removeClass('step-last'); -// } -// return true; -// }, -// labels: { -// finish: "Order again", -// next: "Next", -// previous: "Previous" -// } -// }); -// // Custom Steps Jquery Steps -// $('.wizard > .steps li a').click(function(){ -// $(this).parent().addClass('checked'); -// $(this).parent().prevAll().addClass('checked'); -// $(this).parent().nextAll().removeClass('checked'); -// }); -// // Custom Button Jquery Steps -// $('.forward').click(function(){ -// $("#wizard").steps('next'); -// }) -// $('.backward').click(function(){ -// $("#wizard").steps('previous'); -// }) -// // Checkbox -// $('.checkbox-circle label').click(function(){ -// $('.checkbox-circle label').removeClass('active'); -// $(this).addClass('active'); -// }) -// }) -/*--------------------------------------------------------------------------------------------------------- */ \ No newline at end of file +/*--------------Form submit----------------------------- */ +function serializeJSON (form) { + // Create a new FormData object + const formData = new FormData(form); + + if(formData.get('fechaNacimiento')>=new Date().toISOString().slice(0,10)){ + form['fechaNacimiento'].setCustomValidity('Fecha de nacimiento debe ser menor que actual') + noValidateFlag = true; + return; + } + else{ + form['fechaNacimiento'].setCustomValidity('') + } + + + // Create an object to hold the name/value pairs + const pairs = {}; + + // Add each name/value pair to the object + for (const [name, value] of formData) { + pairs[name] = value + } + pairs["experiencias"] = experiencias.filter(exp => exp)//eliminacion de nulos + pairs["estudios"] = estudios.filter(est => est)//eliminacion de nulos + pairs["tecnologias"] = tecnologias.filter(tec => tec)//eliminacion de nulos + pairs["postulaciones"] = postulaciones.filter(car => car)//eliminacion de nulos + pairs["referencias"] = referencias.filter(tec => tec) + if(pairs["postulaciones"].length<1){ + document.querySelector("#no-valid-cargo").style.display = "block"; + noValidateFlag = true; + }else{ + document.querySelector("#no-valid-cargo").style.display = "none"; + } + console.log(pairs["tecnologias"]) + if(pairs["tecnologias"].length<1){ + document.querySelector("#no-valid-tecno").style.display = "block"; + noValidateFlag = true; + }else{ + document.querySelector("#no-valid-tecno").style.display = "none"; + } + if(noValidateFlag){ + return; + } + noValidateFlag = false + + // Return the JSON string + return JSON.stringify(pairs, null, 2); +} + +function obtenerCV(){ + let input = document.querySelector('#cvFile') + return input.files[0]; + +} + +async function postData(url = '', data = {}) { + var token = document.querySelector("meta[name='_csrf']").content; + var headerxs = document.querySelector("meta[name='_csrf_header']").content; + // Default options are marked with * + let senddata = { + method: 'POST', // *GET, POST, PUT, DELETE, etc. + mode: 'cors', // no-cors, *cors, same-origin + cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached + credentials: 'same-origin', // include, *same-origin, omit + headers: { + //'Content-Type': undefined//'application/json', + // 'Content-Type': 'application/x-www-form-urlencoded', + }, + redirect: 'follow', // manual, *follow, error + referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url + body: data // body data type must match "Content-Type" header + } + senddata["headers"][headerxs] = token; + let response = null + if(!noValidateFlag){ + response = await fetch(url, senddata); + } + return response; // parses JSON response into native JavaScript objects +} + +function formatearJsonWithFile(json, file){ + formData = new FormData(); + + formData.append("file", file); + formData.append('postulante', new Blob([json], { + type: "application/json" + })); + return formData +} + +/*--------------Llamar funciones y agregar listeners----------------------------- */ +formValidator(); +fechasMaxMin(); +listarCiudades(depSelect.value); + +form.addEventListener("submit",(evt)=>{ + // if (!form.checkValidity()) { + // evt.preventDefault() + // evt.stopPropagation() + // } + // form.classList.add('was-validated') + evt.preventDefault(); + let formSerialized = serializeJSON(form); + let fileCV = obtenerCV(); + if(!noValidateFlag){ + postData('work-with-us', formatearJsonWithFile(formSerialized,fileCV)) + .then(response => { + if(response.status==200 || response.status==302){ + location.replace(response.url); + }else{ + + errorDispatcher(response.text().then(value => console.log(value))); + + } + },(reason)=>{ + errorDispatcher(reason); + }); + } + noValidateFlag = false +} ); + +function errorDispatcher(reason){ + const errorSection = document.querySelector("#errorSection") + errorSection.innerHTML = ` + `; + console.log(reason) + errorSection.focus() +} + +//evento para cambio de ciudad segun departamento +depSelect.addEventListener("change",evt => listarCiudades(evt.target.value)) + diff --git a/curriculumsearch/src/main/resources/static/valEdad.js b/curriculumsearch/src/main/resources/static/valEdad.js new file mode 100644 index 0000000..25e8bc0 --- /dev/null +++ b/curriculumsearch/src/main/resources/static/valEdad.js @@ -0,0 +1,153 @@ +//Convertir DOB to Age +window.onload= init; + + +function init(){ + contarEdad(); + //fechaFormat(); +} + + +function contarEdad() { + let today = new Date(); + let dob = document.getElementById("dob").value; + let current_datetime = new Date(dob); + let month = current_datetime.getMonth(); + let day = current_datetime.getDate(); + let formatted_date = current_datetime.getDate() + "/" + (current_datetime.getMonth() + 1) + "/" + current_datetime.getFullYear(); + //console.log(formatted_date); ver Fecha del form en formato dd/mm/yyy + let date2=new Date(dob); + let pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/; //Regex to validate date format (dd/mm/yyyy) + let age = today.getFullYear() - current_datetime.getFullYear(); + + if (pattern.test(formatted_date)) { + if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) + { + age--; + } + // console.log(age); ver edad + let anio = document.getElementById("edad").innerHTML=age+" aƱos"; + } else { + alert("Invalid date format. Please Input in (dd/mm/yyyy) format!"); + } + +/* +function fechaFormat(){ + + //EXPERIENCIA + + let fechaInicioExp = document.getElementById("fechaInicioExp2").value; + let fie =new Date(fechaInicioExp); + // let formatted_fie = fie.getDate() + "/" + (fie.getMonth() + 1) + "/" + fie.getFullYear(); + + let fechaFinExp = document.getElementById("fechaFinExp2").value; + let ffe =new Date(fechaFinExp); + // let formatted_ffe = ffe.getDate() + "/" + (ffe.getMonth() + 1) + "/" + ffe.getFullYear(); + + + // Validacion de ceros Fecha inicio + if(((fie.getMonth() + 1) < 10) && (fie.getDate() < 10) ){ + let formatted_fie = "0"+ fie.getDate() + "/0" + (fie.getMonth() + 1) + "/" + fie.getFullYear(); + let mostrar1 = document.getElementById("fiemostrar").innerHTML = formatted_fie; + console.log(mostrar1); + }else{ + if((fie.getMonth() + 1) < 10){ + let formatted_fie = fie.getDate() + "/0" + (fie.getMonth() + 1) + "/" + fie.getFullYear(); + mostrar1 = document.getElementById("fiemostrar").innerHTML = formatted_fie; + console.log(mostrar1); + }else{ + if(fie.getDate() < 10){ + let formatted_fie ="0"+ fie.getDate() + "/" + (fie.getMonth() + 1) + "/" + fie.getFullYear(); + mostrar1 = document.getElementById("fiemostrar").innerHTML = formatted_fie; + console.log(mostrar1); + }else{ + let formatted_fie = fie.getDate() + "/" + (fie.getMonth() + 1) + "/" + fie.getFullYear(); + mostrar1 = document.getElementById("fiemostrar2").innerHTML = formatted_fie; + console.log(mostrar1); + } + } + } + + + + // Validacion de ceros Fecha fin + if(((ffe.getMonth() + 1) < 10) && (ffe.getDate() < 10) ){ + let formatted_ffe = "0"+ ffe.getDate() + "/0" + (ffe.getMonth() + 1) + "/" + ffe.getFullYear(); + let mostrar2 = document.getElementById("ffemostrar").innerHTML = formatted_ffe; + console.log(mostrar2); + }else{ + if((ffe.getMonth() + 1) < 10){ + let formatted_ffe = ffe.getDate() + "/0" + (ffe.getMonth() + 1) + "/" + ffe.getFullYear(); + mostrar2 = document.getElementById("ffemostrar").innerHTML = formatted_ffe; + console.log(mostrar2); + }else{ + if(ffe.getDate() < 10){ + let formatted_ffe ="0"+ ffe.getDate() + "/" + (ffe.getMonth() + 1) + "/" + ffe.getFullYear(); + mostrar2 = document.getElementById("ffemostrar").innerHTML = formatted_ffe; + console.log(mostrar2); + }else{ + let formatted_ffe = ffe.getDate() + "/" + (ffe.getMonth() + 1) + "/" + ffe.getFullYear(); + mostrar2 = document.getElementById("ffemostrar").innerHTML = formatted_ffe; + console.log(mostrar2); + } + } + } + + + + + //ESTUDIOS////////// + + let fechaInicioEst = document.getElementById("fechaInicioEst").value; + let fies =new Date(fechaInicioEst); + let formatted_fies = fies.getDate() + "/" + (fies.getMonth() + 1) + "/" + fies.getFullYear(); + + let fechaFinEst = document.getElementById("fechaFinEst").value; + let ffes =new Date(fechaFinEst); + let formatted_ffes = ffes.getDate() + "/" + (ffes.getMonth() + 1) + "/" + ffes.getFullYear(); + + // Validacion de ceros Fecha fin + if(((ffes.getMonth() + 1) < 10) && (ffes.getDate() < 10) ){ + let formatted_ffes = "0"+ ffes.getDate() + "/0" + (ffes.getMonth() + 1) + "/" + ffes.getFullYear(); + let mostrar3 = document.getElementById("ffesmostrar").innerHTML = formatted_ffes; + }else{ + if((ffes.getMonth() + 1) < 10){ + let formatted_ffes = ffes.getDate() + "/0" + (ffes.getMonth() + 1) + "/" + ffes.getFullYear(); + mostrar3 = document.getElementById("ffesmostrar").innerHTML = formatted_ffes; + }else{ + if(ffes.getDate() < 10){ + let formatted_ffes ="0"+ ffes.getDate() + "/" + (ffes.getMonth() + 1) + "/" + ffes.getFullYear(); + mostrar3 = document.getElementById("ffesmostrar").innerHTML = formatted_ffes; + }else{ + let formatted_ffes = ffes.getDate() + "/" + (ffes.getMonth() + 1) + "/" + ffes.getFullYear(); + mostrar3 = document.getElementById("ffesmostrar").innerHTML = formatted_ffes; + } + } + } + + + // Validacion de ceros Fecha inicio + if(((fies.getMonth() + 1) < 10) && (fies.getDate() < 10) ){ + let formatted_fies = "0"+ fies.getDate() + "/0" + (fies.getMonth() + 1) + "/" + fies.getFullYear(); + let mostrar4 = document.getElementById("fiesmostrar").innerHTML = formatted_fies; + }else{ + if((fies.getMonth() + 1) < 10){ + let formatted_fies = fies.getDate() + "/0" + (fies.getMonth() + 1) + "/" + fies.getFullYear(); + mostrar4 = document.getElementById("fiesmostrar").innerHTML = formatted_fies; + }else{ + if(fies.getDate() < 10){ + let formatted_fies ="0"+ fies.getDate() + "/" + (fies.getMonth() + 1) + "/" + fies.getFullYear(); + mostrar4 = document.getElementById("fiesmostrar").innerHTML = formatted_fies; + }else{ + let formatted_fies = fies.getDate() + "/" + (fies.getMonth() + 1) + "/" + fies.getFullYear(); + mostrar4 = document.getElementById("fiesmostrar").innerHTML = formatted_fies; + } + } + } +}*/ + + + + +} + \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp index 11f7542..8f031a5 100644 --- a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp +++ b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp @@ -2,6 +2,8 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +

@@ -58,11 +60,10 @@
-
Fecha de nacimiento
-
-
- ${postulante.fechaNacimiento} +
Edad
+
+

@@ -194,11 +195,16 @@
  • Fecha Inicio
    - ${detalle_experiencia.getFechaDesde()} + +
  • Fecha Fin
    - ${detalle_experiencia.getFechaHasta()} + +
  • Referencia
    @@ -256,11 +262,16 @@
  • Fecha Inicio
    - ${detalle_estudios.getFechaDesde()} + + + +
  • Fecha Fin
    - ${detalle_estudios.getFechaHasta()} + + +
  • Tipo de Estudio
    @@ -364,6 +375,8 @@ + + diff --git a/curriculumsearch/src/main/webapp/jsp/listapostulantes.jsp b/curriculumsearch/src/main/webapp/jsp/listapostulantes.jsp deleted file mode 100644 index 22fe8ab..0000000 --- a/curriculumsearch/src/main/webapp/jsp/listapostulantes.jsp +++ /dev/null @@ -1,44 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - - - - - - - -
    - ${postulante.id}
    - ${postulante.nombre}
    - ${postulante.apellido}
    - ${postulante.ci}
    - ${postulante.correo}
    - ${postulante.ciudadId}
    - ${postulante.telefono}
    - ${postulante.fechaNacimiento}
    - ${postulante.resumen}
    - ${postulante.nivelIngles}
    - ${postulante.curriculum}
    - ${postulante.estadoCivil}
    - ${postulante.nacionalidad}
    - ${postulante.tipoDocumento}
    - ${postulante.disponibilidad}


    - - ${postulante.getCiudad().getNombre()}
    - - - - - - - ${detalle_tecnologia.getTecnologia().getNombre()} - - -
    - - - - - - \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp index a0d8501..e1c9f8e 100644 --- a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp @@ -12,49 +12,42 @@ Curriculum + +
    +
    + +
    +
    -

    Curriculum

    +

    Datos Personales

    -
    - - -
    - Luce Bien! -
    - -
    +
    -
    - Luce Bien! -
    +
    -
    - Luce Bien! -
    +
    - + -
    - Luce Bien! -
    +
    @@ -68,7 +61,7 @@
    - @@ -78,9 +71,7 @@
    -
    - Luce Bien! -
    +
    @@ -103,21 +94,24 @@
    -
    - Luce Bien! -
    +
    -
    - Luce Bien! -
    + +
    + +
    + + + +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    - -
    +
    + +
    +
    + +

    Cargos

    + + +
    +
    +
    + +
    +
    +
    + +
    + + +
    +
    + + + -
    -
    +
    + +
    +
    +

    Experiencias

    +
    +
    +
    + +
    +
    +
    +
    + -
    -
    +
    + +
    +
    +

    Estudios

    +
    +
    +
    + +
    +
    +
    +
    + -
    - - -
    +
    + +
    +
    + +

    Tecnologias

    +
    +
    + +
    +
    + +
    +
    + +
    + + +
    + + + + -
    -
    +
    + +
    +
    +

    Referencia Personal

    +
    +
    +
    + +
    +
    +
    +
    +
    - Cancelar + Cancelar
    @@ -188,12 +258,12 @@
    -
    @@ -436,49 +512,11 @@ - - - - + + + \ No newline at end of file