Ajsutando css y los botones del pdf

master
vicsash 4 months ago
parent 1d65f92f3e
commit b7da5dc143

@ -160,11 +160,12 @@ public class AdminController {
// ...
if (currentUser.getId().equals(id)) {
return ResponseEntity.ok("selfDelete");
}else if(currentUser.getId() ==1){
return ResponseEntity.ok("originalAdmin");
}
Usuario user = usuarioService.findUserById(id);
if(user.getRol().getId() == 2){
Alumno alumno = alumnoService.findByEmail(user.getEmail());
System.out.println("TEST DELETING ALUMNO WITH ID: " + alumno.getId()+" AND EMAIL: "+alumno.getCorreo()+" AND NAME: "+alumno.getNombre());
alumnoService.deleteById(alumno.getId());
}
usuarioService.deleteUser(id);

@ -2,8 +2,10 @@ package com.example.proyectofinal.servicios.empresa;
import com.example.proyectofinal.models.empresas.Alumno;
import com.example.proyectofinal.models.empresas.Skill;
import com.example.proyectofinal.models.login.Usuario;
import com.example.proyectofinal.repositories.empresas.AlumnoRepository;
import com.example.proyectofinal.servicios.implemetations.empresas.IAlumno;
import com.example.proyectofinal.servicios.user.UsuarioService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.*;
import org.springframework.stereotype.Service;
@ -18,6 +20,8 @@ import java.util.Set;
public class AlumnoService implements IAlumno{
@Autowired
private AlumnoRepository alumnoRepository;
@Autowired
private UsuarioService usuarioService;
@Override
public Page<Alumno> getPage(int pageNum, int size, String sortField, String sortDir, String query, String secondaryOption) {
@ -87,9 +91,13 @@ public class AlumnoService implements IAlumno{
List<Alumno> alumnos = alumnoRepository.findByCiclo(id);
if(!alumnos.isEmpty()){
for(Alumno alumno : alumnos){
System.out.println("Deleting alumno with id: " + alumno.getId());
alumnoRepository.deleteSkillByAlumnoId(alumno.getId()); // delete associated skills
alumnoRepository.deleteById(alumno.getId()); // then delete the alumno
alumnoRepository.deleteSkillByAlumnoId(alumno.getId());
alumnoRepository.deleteById(alumno.getId());
String logIn = "alu." + alumno.getNombre() + alumno.getNia().substring(0, 3);
Usuario usuario = usuarioService.findByLogInName(logIn);
if(usuario != null){
usuarioService.deleteById(usuario.getId());
}
}
}
}

@ -25,8 +25,7 @@ public class CicloService implements ICiclos {
@Autowired
private OfertaService ofertaService;
@Autowired
private UsuarioService usuarioService;
@Override
@ -53,12 +52,6 @@ public class CicloService implements ICiclos {
public void deleteById(Long id) {
Ciclo ciclo = cicloRepository.findById(id).orElse(null);
if(ciclo != null){
Alumno alumno = alumnoService.findById(id);
String logIn = "alu." + alumno.getNombre() + alumno.getNia().substring(0, 3);
Usuario usuario = usuarioService.findByLogInName(logIn);
if(usuario != null){
usuarioService.deleteById(usuario.getId());
}
alumnoService.deleteByCiclo(ciclo.getId());
ofertaService.deleteByCicloId(ciclo.getId());
cicloRepository.deleteById(id);

@ -203,8 +203,6 @@ public class OfertaService implements IOferta {
sbMessage.append("Empresa: ").append(oferta.getSucursal().getEmpresa().getNombre()).append("\n");
sbMessage.append("Localidad: ").append(oferta.getSucursal().getLocalidad()).append("\n");
sbMessage.append("Descipción: ").append(oferta.getDescripcion()).append("\n");
System.out.println("TEST " + alumno.getNombre());
System.out.println("TEST CORREO " + alumno.getCorreo());
mailService.sendEmail(alumno.getCorreo(), "Nueva oferta de practicas", sbMessage.toString());
if(alumno.getCorreo2() != null){
mailService.sendEmail(alumno.getCorreo2(), "Nueva oferta de practicas", sbMessage.toString());

@ -26,12 +26,9 @@ th {
h1 {
text-align: center;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 50px;
font-size: 3vw;
color: white;
margin-top: 0;
margin-left: 0;
margin-right: 0;
margin-bottom: 50px;
margin: 0 0 50px;
padding-top: 0;
padding-left: 0;
padding-right: 0;
@ -104,23 +101,28 @@ body {
align-items: center;
justify-content: space-between;
background-color: #007BFF;
padding: 0;
padding: 0.2vw;
box-sizing: border-box;
}
.pdfButton {
font-size: 10px; /* Adjust font size */
padding: 2px 5px; /* Adjust padding */
width: auto; /* Adjust width to auto so it expands as needed */
white-space: normal; /* Allow text to wrap to next line */
text-align: center; /* Center the text */
z-index: 2;
position: relative;
font-size: 0.5em;
padding: 1em;
margin : 0.25em;
width: auto;
white-space: normal;
text-align: center;
}
.header h1 {
position: absolute;
left: 50%;
transform: translateX(-50%);
margin: 0;
i.fas.fa-arrow-left {
z-index: 1;
pointer-events: auto; /* Add this line */
}
.button-group {
display: flex;
flex-direction: row;
align-items: center;
z-index: 1;
}
.header button {
margin-right: auto;
@ -182,8 +184,8 @@ html, body {
width: 100vw;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
}
.modal-content{
background-color: #fefefe;
@ -194,7 +196,7 @@ html, body {
}
.delete{
background-color: #f8f9fa; /* Light gray background */
background-color: #f8f9fa;
color: red;
float: right;
font-size: 28px;
@ -202,7 +204,7 @@ html, body {
padding: 10px;
}
.close{
background-color: #f8f9fa; /* Light gray background */
background-color: #f8f9fa;
color: black;
float: right;
font-size: 28px;

@ -94,6 +94,8 @@
window.location.href = "/buscador?error=selfDelete";
} else if (response === 'userDeleted') {
window.location.href = "/buscador?userDeleted=true";
} else if(response === 'originalAdmin'){
window.location.href = "/buscador?error=originalAdmin";
}
},
error: function(jqXHR, textStatus, errorThrown) {

@ -211,6 +211,11 @@
urlParams.set('error', 'false');
window.history.replaceState({}, '', `${location.pathname}?${urlParams}`);
}
if(error ==='originalAdmin'){
alert('No puedes eliminar al administrador original');
urlParams.set('error', 'false');
window.history.replaceState({}, '', `${location.pathname}?${urlParams}`);
}
});
function deleteUser() {

@ -21,10 +21,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Alumnos
@ -33,7 +30,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="scrollable-table">
<table class="table" id="table">

@ -15,10 +15,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Ciclos
@ -27,7 +24,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="table-container">
<table class="table" id="table">

@ -15,10 +15,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Contactos
@ -27,8 +24,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="table-container">
<table class="table" id="table">
<thead class="thread-light">

@ -18,10 +18,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Empresas
@ -30,7 +27,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon" ></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon" ></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="table-container">
<table class="table" id="table">

@ -15,10 +15,6 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Familias
@ -27,8 +23,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="table-container">
<table class="table" id="table">
<thead class="thread-light">
@ -113,28 +113,29 @@
var isSearchBarUsed = false;
$table.on('click', '.edit-icon', function(event) {
console.log("Edit icon clicked");
//console.log("Edit icon clicked");
handleEdit(event);
});
$table.on('click', '.delete-icon', function(event) {
console.log("Delete icon clicked");
// console.log("Delete icon clicked");
handleDelete(event);
});
function handleEdit(event) {
console.log("handleEdit function called");
//console.log("handleEdit function called");
const row = event.target.closest('tr');
const rowId = row.dataset.id;
console.log("Row ID: " + rowId);
//console.log("Row ID: " + rowId);
window.location = "/admin/familia/update/" + rowId;
}
var modal = document.getElementById("modalDelete");
function handleDelete(event) {
console.log("handleDelete function called");
console.log("Delete icon clicked");
//console.log("handleDelete function called");
//console.log("Delete icon clicked");
var modal = document.getElementById("modalDelete");
const row = event.target.closest('tr');
const rowId = row.dataset.id;
modal.style.display = "block";
@ -148,25 +149,21 @@
modal.style.display = "none";
document.body.style.pointerEvents = 'auto';
}
setTimeout(function() {
deleteSpan.onclick = function() {
$.ajax({
url: '/familia/delete/' + rowId,
type: 'GET',
success: function(response) {
if (response === "La familia ha sido eliminada") {
alert("Familia borrada con exito");
modal.style.display = "none"; // Hide the modal
document.body.style.pointerEvents = 'auto'; // Enable pointer events
window.location.reload(); // Reload the page
} else {
alert("Error al borrar familia");
}
deleteSpan.onclick = function() {
$.ajax({
url: '/familia/delete/' + rowId,
type: 'GET',
success: function(response) {
if (response === "La familia ha sido eliminado") {
alert("Familia borrada con exito");
modal.style.display = "none"; // Hide the modal
window.location.reload(); // Reload the page
} else {
alert("Error al borrar familia");
}
});
}
}, 500); // Delay of 500 milliseconds
}
});
}
}
$myInput.on('input', function() {

@ -17,10 +17,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Ofertas
@ -29,7 +26,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="scrollable-table">
<table class="table" id="table">

@ -15,10 +15,7 @@
</head>
<body>
<div class="header">
<div>
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Sectores
@ -27,7 +24,12 @@
</div>
<input type="text" id="myInput" placeholder="Buscar por...."> <i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<input type="text" id="myInput" placeholder="Buscar por....">
<i class="fas fa-plus hide-icon" id="create-icon" th:if="${isAdmin}"></i>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>
<div class="table-container">
<table class="table" id="table">

@ -15,7 +15,7 @@
</head>
<body>
<div class="header">
<div>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>

@ -15,7 +15,7 @@
</head>
<body>
<div class="header">
<div>
<div class="button-group">
<button class="pdfButton" onclick="generatePDF()">Generar PDF de esta pagina</button>
<button class="pdfButton" onclick="generatePDF_All()">Generar PDF de todas entradas</button>
</div>

Loading…
Cancel
Save

Powered by INFORMATICA.FP.EDU.ES.