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 { ...@@ -53,6 +53,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.mvcMatchers("/home").authenticated() .mvcMatchers("/home").authenticated()
.mvcMatchers("/cargo*").authenticated() .mvcMatchers("/cargo*").authenticated()
.mvcMatchers("/convocatoria*").authenticated() .mvcMatchers("/convocatoria*").authenticated()
.mvcMatchers("/convocatoria/crear/*").authenticated()
.mvcMatchers("/tecnologia*").authenticated() .mvcMatchers("/tecnologia*").authenticated()
.mvcMatchers("/postulantes","/postulantes/**").authenticated() .mvcMatchers("/postulantes","/postulantes/**").authenticated()
.mvcMatchers("/edit-user-data").authenticated() .mvcMatchers("/edit-user-data").authenticated()
......
...@@ -62,12 +62,6 @@ public class ConvocatoriaController { ...@@ -62,12 +62,6 @@ public class ConvocatoriaController {
//model.addAttribute("convocatorias",cargoId==null? convoRepo.findAll() : convoRepo.findByCargoId(cargoId)); //model.addAttribute("convocatorias",cargoId==null? convoRepo.findAll() : convoRepo.findByCargoId(cargoId));
return "convocatorias"; return "convocatorias";
} }
@RequestMapping("/convocatoria")
public String formConvocatoria(Model model) {
model.addAttribute("cargos", cargoRepo.findAll());
model.addAttribute("convocatoria", new ConvocatoriaCargo());
return "convocatoria-form";
}
@PostMapping("/convocatoria") @PostMapping("/convocatoria")
public String guardarConvocatoria(@ModelAttribute ConvocatoriaCargo convocatoria, BindingResult result,RedirectAttributes redirectAttributes) { public String guardarConvocatoria(@ModelAttribute ConvocatoriaCargo convocatoria, BindingResult result,RedirectAttributes redirectAttributes) {
...@@ -84,7 +78,20 @@ public class ConvocatoriaController { ...@@ -84,7 +78,20 @@ public class ConvocatoriaController {
System.out.println(convocatoria.getFechaInicio()); System.out.println(convocatoria.getFechaInicio());
return "redirect:/convocatorias"; 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}") /* @RequestMapping("/convocatoria/{id}")
public String formConvocatoria(Model model,@PathVariable(required = false) Long id) { public String formConvocatoria(Model model,@PathVariable(required = false) Long id) {
...@@ -111,6 +118,7 @@ public class ConvocatoriaController { ...@@ -111,6 +118,7 @@ public class ConvocatoriaController {
convocatoria=convoRepo.findByIdConvocatoriaCargo(id); convocatoria=convoRepo.findByIdConvocatoriaCargo(id);
convocatoria.setEstado(EstadoConvocatoria.cerrado); convocatoria.setEstado(EstadoConvocatoria.cerrado);
convocatoria.setFechaFin(new Date()); convocatoria.setFechaFin(new Date());
convocatoria.getCargo().setExisteConvocatoria(false);
convoRepo.save(convocatoria); convoRepo.save(convocatoria);
/*if(id != null) convocatoria.setId(id); /*if(id != null) convocatoria.setId(id);
//System.out.println(convoRepo.filtrarConvocatoriasPorCargo(convocatoria.getCargoId())); //System.out.println(convoRepo.filtrarConvocatoriasPorCargo(convocatoria.getCargoId()));
......
...@@ -30,6 +30,9 @@ public class Cargo { ...@@ -30,6 +30,9 @@ public class Cargo {
@JsonManagedReference @JsonManagedReference
private List<ConvocatoriaCargo> convocatorias; private List<ConvocatoriaCargo> convocatorias;
@Column(name = "existe_convocatoria")
boolean existeConvocatoria=false;
public List<ConvocatoriaCargo> getConvocatorias() { public List<ConvocatoriaCargo> getConvocatorias() {
return convocatorias; return convocatorias;
} }
...@@ -39,4 +42,13 @@ public class Cargo { ...@@ -39,4 +42,13 @@ public class Cargo {
public static Object values() { public static Object values() {
return null; 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; ...@@ -11,9 +11,10 @@ import org.springframework.data.jpa.repository.Query;
public interface CargoRepository extends JpaRepository<Cargo,Long>{ public interface CargoRepository extends JpaRepository<Cargo,Long>{
public Page<Cargo> findByNombreContainingIgnoreCase(String nombre, Pageable pageable); 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 boolean existsByNombreIgnoreCase(String nombre);
public List<Cargo> findByexisteConvocatoriaFalse();
@Query(value = "SELECT * FROM cargo",nativeQuery = true) @Query(value = "SELECT * FROM cargo",nativeQuery = true)
public Page<Cargo> findAllCargo(Pageable pageable ); public Page<Cargo> findAllCargo(Pageable pageable );
} }
[ [
{ {
"id": 1, "id": 1,
"nombre": "dev java" "nombre": "dev java",
"existeConvocatoria":true
}, },
{ {
"id": 2, "id": 2,
"nombre": "dev php" "nombre": "dev php",
"existeConvocatoria":true
}, },
{ {
"id": 3, "id": 3,
"nombre": "dev python" "nombre": "dev python",
"existeConvocatoria":true
}, },
{ {
"id": 4, "id": 4,
"nombre": "dev c" "nombre": "dev c",
"existeConvocatoria":true
}, },
{ {
"id": 5, "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" %> ...@@ -51,6 +51,11 @@ contentType="text/html;charset=UTF-8" language="java" %>
> >
</td> </td>
<td><a href="/cargo/${cargo.id}">Editar cargo</a></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> </tr>
</c:forEach> </c:forEach>
</tbody> </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 @@ ...@@ -25,7 +25,6 @@
</a> </a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a class="dropdown-item" href="/cargo">Agregar Cargo</a></li> <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="/cargos">Listar cargos</a></li>
<li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li> <li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li>
</ul> </ul>
......
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
</a> </a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a class="dropdown-item" href="/cargo">Agregar Cargo</a></li> <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="/cargos">Listar cargos</a></li>
<li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li> <li><a class="dropdown-item" href="/convocatorias">Listar convocatorias</a></li>
</ul> </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