Commit 620489c0 by Joel Florentin

merge william. cargo bug y form postulante required

parents 874ea5af 33a11167
......@@ -53,6 +53,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.mvcMatchers("/home").authenticated()
.mvcMatchers("/cargo*").authenticated()
.mvcMatchers("/convocatoria*").authenticated()
.mvcMatchers("/convocatoria/crear/*").authenticated()
.mvcMatchers("/tecnologia*").authenticated()
.mvcMatchers("/postulantes","/postulantes/**").authenticated()
.mvcMatchers("/edit-user-data").authenticated()
......
......@@ -63,7 +63,10 @@ public class CargoController {
model.addAttribute("mismoNombre", true);
return "cargo-form";
};
if(id != null ) cargo.setId(id);
if(id != null ){
cargo.setId(id);
cargo.setExisteConvocatoria(cargoRepo.getById(id).isExisteConvocatoria());
}
cargoRepo.save(cargo);
System.out.println(cargo.getNombre());
return "redirect:/cargos";
......
......@@ -62,12 +62,6 @@ public class ConvocatoriaController {
//model.addAttribute("convocatorias",cargoId==null? convoRepo.findAll() : convoRepo.findByCargoId(cargoId));
return "convocatorias";
}
@RequestMapping("/convocatoria")
public String formConvocatoria(Model model) {
model.addAttribute("cargos", cargoRepo.findAll());
model.addAttribute("convocatoria", new ConvocatoriaCargo());
return "convocatoria-form";
}
@PostMapping("/convocatoria")
public String guardarConvocatoria(@ModelAttribute ConvocatoriaCargo convocatoria, BindingResult result,RedirectAttributes redirectAttributes) {
......@@ -84,7 +78,20 @@ public class ConvocatoriaController {
System.out.println(convocatoria.getFechaInicio());
return "redirect:/convocatorias";
}
@RequestMapping("/convocatoria/crear/{id}")
public String guardarConvocatoriaa(@PathVariable(required = false) Long id) {
ConvocatoriaCargo convocatoria=new ConvocatoriaCargo();
convocatoria.setCargo(cargoRepo.findByIdCargo(id));
convocatoria.setCargoId(cargoRepo.findByIdCargo(id).getId());
System.out.println(cargoRepo.findByIdCargo(id).getNombre());
convocatoria.setFechaInicio(new Date());
convocatoria.setEstado(EstadoConvocatoria.abierto);
convocatoria.getCargo().setExisteConvocatoria(true);
convoRepo.save(convocatoria);
System.out.println(convocatoria.getFechaInicio());
return "redirect:/convocatorias";
}
/* @RequestMapping("/convocatoria/{id}")
public String formConvocatoria(Model model,@PathVariable(required = false) Long id) {
......@@ -111,6 +118,7 @@ public class ConvocatoriaController {
convocatoria=convoRepo.findByIdConvocatoriaCargo(id);
convocatoria.setEstado(EstadoConvocatoria.cerrado);
convocatoria.setFechaFin(new Date());
convocatoria.getCargo().setExisteConvocatoria(false);
convoRepo.save(convocatoria);
/*if(id != null) convocatoria.setId(id);
//System.out.println(convoRepo.filtrarConvocatoriasPorCargo(convocatoria.getCargoId()));
......
......@@ -30,6 +30,9 @@ public class Cargo {
@JsonManagedReference
private List<ConvocatoriaCargo> convocatorias;
@Column(name = "existe_convocatoria")
private boolean existeConvocatoria=false;
public List<ConvocatoriaCargo> getConvocatorias() {
return convocatorias;
}
......@@ -39,4 +42,13 @@ public class Cargo {
public static Object values() {
return null;
}
public boolean isExisteConvocatoria() {
return this.existeConvocatoria;
}
public void setExisteConvocatoria(boolean existeConvocatoria) {
this.existeConvocatoria = existeConvocatoria;
}
}
......@@ -11,9 +11,10 @@ import org.springframework.data.jpa.repository.Query;
public interface CargoRepository extends JpaRepository<Cargo,Long>{
public Page<Cargo> findByNombreContainingIgnoreCase(String nombre, Pageable pageable);
@Query(value = "SELECT c FROM Cargo c WHERE c.id=?1")
public Cargo findByIdCargo(Long id);
public boolean existsByNombreIgnoreCase(String nombre);
public List<Cargo> findByexisteConvocatoriaFalse();
@Query(value = "SELECT * FROM cargo",nativeQuery = true)
public Page<Cargo> findAllCargo(Pageable pageable );
}
[
{
"id": 1,
"nombre": "dev java"
"nombre": "dev java",
"existeConvocatoria":true
},
{
"id": 2,
"nombre": "dev php"
"nombre": "dev php",
"existeConvocatoria":true
},
{
"id": 3,
"nombre": "dev python"
"nombre": "dev python",
"existeConvocatoria":true
},
{
"id": 4,
"nombre": "dev c"
"nombre": "dev c",
"existeConvocatoria":true
},
{
"id": 5,
"nombre": "dev android"
"nombre": "dev android",
"existeConvocatoria":true
}
]
\ No newline at end of file
......@@ -51,6 +51,11 @@ contentType="text/html;charset=UTF-8" language="java" %>
>
</td>
<td><a href="/cargo/${cargo.id}">Editar cargo</a></td>
<td>
<c:if test="${!cargo.isExisteConvocatoria()}">
<a class="btn btn-secondary" href="/convocatoria/crear/${cargo.id}">abrirConvocatoria</a>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
......
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>${convocatoria.id == null ? "Agregar" : "Modificar"} Convocatoria</h2>
<div class="p-3 mb-2 bg-light text-dark bg-transparent ">
<form:form action="/convocatoria/${convocatoria.id == null ? '' : convocatoria.id}" method="post" modelAttribute="convocatoria">
<div class="mb-3 col-3">
<form:label path="cargoId" class="form-label">Cargo</form:label>
<form:select class="form-select" path="cargoId">
<c:forEach items="${cargos}" var="cargo">
<form:option value="${cargo.id}">${cargo.nombre} </form:option>
</c:forEach>
</form:select>
</div>
<button type="submit" class="btn btn-primary">Abrir Convocatoria</button>
</form:form>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
......@@ -48,7 +48,7 @@
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="${estado}" name="estado" value="${estado}">
<label class="form-check-label" for="abierto">${estado}</label><br>
<label class="form-check-label" for="${estado}">${estado}</label><br>
</div>
</c:forEach>
......
......@@ -25,7 +25,6 @@
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a class="dropdown-item" href="/cargo">Agregar Cargo</a></li>
<li><a class="dropdown-item" href="/convocatoria">Agregar Convocatoria</a></li>
<li><a class="dropdown-item" href="/cargos">Listar cargos</a></li>
<li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li>
</ul>
......
......@@ -39,7 +39,6 @@
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a class="dropdown-item" href="/cargo">Agregar Cargo</a></li>
<li><a class="dropdown-item" href="/convocatoria">Agregar Convocatoria</a></li>
<li><a class="dropdown-item" href="/cargos">Listar cargos</a></li>
<li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li>
</ul>
......
......@@ -334,11 +334,11 @@
</div>
<div class="inputs">
<label for="refNombre" class="form-label">Nombre de la referencia</label>
<input placeholder="&#xf007; Ingrese el nombre de su referencia" type="text" class="form-control FA " name="nombreReferencia" id="refNombre" >
<input placeholder="&#xf007; Ingrese el nombre de su referencia" type="text" class="form-control FA " name="nombreReferencia" id="refNombre" required >
</div>
<div class="inputs">
<label for="refTel" class="form-label">Teléfono de la referencia</label>
<input placeholder="&#xf095; Ingrese el teléfono de su referencia" type="number" class="form-control FA" name="telefonoReferencia" id="refTel" >
<input placeholder="&#xf095; Ingrese el teléfono de su referencia" type="number" class="form-control FA" name="telefonoReferencia" id="refTel" required>
</div>
<div class="inputs">
......
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