Commit 33a11167 by willgonzz

boolean para saber si existe una convocatoria abierta para cargo, eliminacion de…

boolean para saber si existe una convocatoria abierta para cargo, eliminacion de agregar convocatoria, agregar boton de abrir convocatoria en lista de cargos
parent 2f3104ce
......@@ -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()
......
......@@ -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")
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>
......@@ -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>
......
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