Commit eb16b56a by Joel Florentin

merge con estudio

parents 52078ec2 75f96f7f
...@@ -3,6 +3,7 @@ package com.roshka.modelo; ...@@ -3,6 +3,7 @@ package com.roshka.modelo;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
...@@ -22,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonManagedReference; ...@@ -22,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonManagedReference;
@Table(name="estudio") @Table(name="estudio")
public class Estudio { public class Estudio {
@Id @Id
@GeneratedValue(strategy=GenerationType.IDENTITY) @GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id") @Column(name="id")
private long id; private long id;
...@@ -41,10 +42,7 @@ public class Estudio { ...@@ -41,10 +42,7 @@ public class Estudio {
@Column(name="fecha_hasta") @Column(name="fecha_hasta")
private Date fechaHasta; private Date fechaHasta;
@Column(name="referencias")
private String referencias;
@Column(name="titulo") @Column(name="titulo")
@NotBlank(message = "Este campo no puede estar vacio") @NotBlank(message = "Este campo no puede estar vacio")
private String titulo; private String titulo;
...@@ -55,7 +53,7 @@ public class Estudio { ...@@ -55,7 +53,7 @@ public class Estudio {
private Postulante postulante; private Postulante postulante;
@JsonManagedReference @JsonManagedReference
@OneToMany(mappedBy = "estudio") @OneToMany(mappedBy = "estudio",cascade = CascadeType.ALL)
private List<EstudioReconocimiento> estudioReconocimiento; private List<EstudioReconocimiento> estudioReconocimiento;
...@@ -119,14 +117,6 @@ public class Estudio { ...@@ -119,14 +117,6 @@ public class Estudio {
this.fechaHasta = fechaHasta; this.fechaHasta = fechaHasta;
} }
public String getReferencias() {
return this.referencias;
}
public void setReferencias(String referencias) {
this.referencias = referencias;
}
public String getTitulo() { public String getTitulo() {
return this.titulo; return this.titulo;
} }
......
...@@ -152,4 +152,66 @@ form.addEventListener("submit",(evt)=>{ ...@@ -152,4 +152,66 @@ form.addEventListener("submit",(evt)=>{
evt.preventDefault(); evt.preventDefault();
} ); } );
document.querySelector("#btn-new-tech").addEventListener('click',()=>{document.querySelector("#tecnologia-nombre").classList.remove('d-none')}) document.querySelector("#btn-new-tech").addEventListener('click',()=>{document.querySelector("#tecnologia-nombre").classList.remove('d-none')})
\ No newline at end of file
//Metodos para Estudios
function agregarFieldEstudio(){
//recoger del form
const pairs = {};
const formest = document.querySelector("[name=estudio-form");
const formData = new FormData(formest);
const estudioReconocimiento = [{},{},{}];
let pos_rec;
for (const [name, value] of formData){
pos_rec = name.split("-");//rec-nombre-index
if (pos_rec.length > 1) {
estudioReconocimiento[pos_rec[2]][pos_rec[1]] = value
}
else{
pairs[name] = value
}
}
pairs["estudioReconocimiento"] = estudioReconocimiento.filter(rec => rec.nombre);
estudios[cont_estudios] = pairs;
formest.reset();
//imprimir lista actualizada
const div = document.querySelector("#estudios")
const div1 = document.createElement('div');
let content='<ul>'
for (let index = 0; index < estudios.length; index++) {
const est = estudios[index];
if(est==null) continue;
content += `
<li id="est-${index}">
${est.institucion}
<button type="button" onclick="eliminarEstudio(event)">Eliminar</button>
</li>
`
}
content += "</ul>"
div1.innerHTML = content
div.innerHTML = '';
div.appendChild(div1);
cont_estudios++;
}
function eliminarEstudio(event) {
//eliminar del array
estudios[event.target.parentElement.id.split("-")[1]]=null
//eliminar en html
event.target.parentElement.remove()
}
...@@ -69,25 +69,30 @@ ...@@ -69,25 +69,30 @@
<div class="mb-3 col-5"> <div class="mb-3 col-5">
<label for="modalidad" class="form-label">Modalidad</label> <label for="modalidad" class="form-label">Modalidad</label>
<input type="text" class="form-control " name="modalidad" id="modalidad" > <input type="text" class="form-control " name="modalidad" id="modalidad" >
</div> </div>
<br>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#experienciaForm"> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#experienciaForm">
Agregar Experiencia Agregar Experiencia
</button> </button>
<div id="experiencias"> <div id="experiencias"></div>
<br>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#estudioForm">
Agregar Estudios
</button>
<br><br>
<div id="estudios">
</div> </div>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#tecnologiaForm"> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#tecnologiaForm">
Agregar Tecnologia Agregar Tecnologia
</button> </button>
<div id="tecnologias"> <div id="tecnologias">
</div>
</div>
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn btn-primary">Submit</button>
</form> </form>
<!--Modal de Experiencia-->
<div class="modal fade" id="experienciaForm" tabindex="-1" role="dialog" aria-labelledby="experienciaForm" aria-hidden="true"> <div class="modal fade" id="experienciaForm" tabindex="-1" role="dialog" aria-labelledby="experienciaForm" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
...@@ -160,32 +165,95 @@ ...@@ -160,32 +165,95 @@
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form name="tecnologia-form"> <form name="tecnologia-form">
<label for="tecnologia-nombre" class="form-label">Tecnologia</label> <label for="tecnologia-nombre" class="form-label">Tecnologia</label>
<div class="input-group mb-3"> <div class="input-group mb-3">
<select class="form-select" name="tecnologia-id" aria-label="Default select example"> <select class="form-select" name="tecnologia-id" aria-label="Default select example">
<option value="-1" selected>Open this select menu</option> <option value="-1" selected>Open this select menu</option>
<c:forEach items="${tecnologias}" var="tecnologia"> <c:forEach items="${tecnologias}" var="tecnologia">
<option value="${tecnologia.id}">${tecnologia.nombre}</option> <option value="${tecnologia.id}">${tecnologia.nombre}</option>
</c:forEach> </c:forEach>
</select> </select>
<button class="btn btn-outline-secondary" type="button" id="btn-new-tech">Agregar nuevo</button> <button class="btn btn-outline-secondary" type="button" id="btn-new-tech">Agregar nuevo</button>
</div> </div>
<input type="text" class="form-control d-none" name="tecnologia-nombre" id="tecnologia-nombre" > <input type="text" class="form-control d-none" name="tecnologia-nombre" id="tecnologia-nombre" >
<label for="nivel" class="form-label">Nivel</label> <label for="nivel" class="form-label">Nivel</label>
<input type="number" class="form-control" name="nivel" id="nivel" > <input type="number" class="form-control" name="nivel" id="nivel" >
</form> </form>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" onclick="agregarFieldTecnologia()" data-dismiss="modal">Agregar</button> <button type="button" class="btn btn-primary" onclick="agregarFieldTecnologia()" data-dismiss="modal">Agregar</button>
</div>
</div> </div>
</div> </div>
</div> </div>
<!---------------------------------------------------------------------------------------> </div>
<!--------------------------------------------------------------------------------------->
<!--Modal de Estudios-->
<div class="modal fade" id="estudioForm" tabindex="-1" role="dialog" aria-labelledby="estudioForm" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Estudios</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form name="estudio-form">
<label for="tipoDeEstudio" class="form-label">Tipo De Estudio</label>
<input type="text" class="form-control " name="tipoDeEstudio" id="tipoDeEstudio">
<label for="institucion" class="form-label">Institucion</label>
<input type="text" class="form-control " name="institucion" id="institucion">
<label for="fechaDesde" class="form-label">Fecha Desde</label>
<input type="date" class="form-control " name="fechaDesde" id="fechaDesde" >
<label for="fechaHasta" class="form-label">Fecha Hasta</label>
<input type="date" class="form-control " name="fechaHasta" id="fechaHasta" >
<label for="titulo" class="form-label">Titulo</label>
<input type="text" class="form-control " name="titulo" id="titulo" >
<label class="form-label">Reconocimientos</label>
<div class="row mb-3">
<div class="col">
<input type="text" class="form-control" name="rec-nombre-0" placeholder="Titulo del reconocimiento" aria-label="First name">
</div>
<div class="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="col">
<input type="text" class="form-control" name="rec-nombre-1" placeholder="Titulo del reconocimiento" aria-label="First name">
</div>
<div class="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="col">
<input type="text" class="form-control" name="rec-nombre-2" placeholder="Titulo del reconocimiento" aria-label="First name">
</div>
<div class="col">
<input type="text" class="form-control" name="rec-certificado-2" placeholder="Adjuntar archivo" aria-label="Last name">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary" onclick="agregarFieldEstudio()" data-dismiss="modal">Agregar</button>
</div>
</div>
</div>
</div>
<!-- Optional JavaScript; choose one of the two! --> <!-- Optional JavaScript; choose one of the two! -->
<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>
......
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