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)) { if (currentUser.getId().equals(id)) {
return ResponseEntity.ok("selfDelete"); return ResponseEntity.ok("selfDelete");
}else if(currentUser.getId() ==1){
return ResponseEntity.ok("originalAdmin");
} }
Usuario user = usuarioService.findUserById(id); Usuario user = usuarioService.findUserById(id);
if(user.getRol().getId() == 2){ if(user.getRol().getId() == 2){
Alumno alumno = alumnoService.findByEmail(user.getEmail()); 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()); alumnoService.deleteById(alumno.getId());
} }
usuarioService.deleteUser(id); 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.Alumno;
import com.example.proyectofinal.models.empresas.Skill; 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.repositories.empresas.AlumnoRepository;
import com.example.proyectofinal.servicios.implemetations.empresas.IAlumno; 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.beans.factory.annotation.Autowired;
import org.springframework.data.domain.*; import org.springframework.data.domain.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -18,6 +20,8 @@ import java.util.Set;
public class AlumnoService implements IAlumno{ public class AlumnoService implements IAlumno{
@Autowired @Autowired
private AlumnoRepository alumnoRepository; private AlumnoRepository alumnoRepository;
@Autowired
private UsuarioService usuarioService;
@Override @Override
public Page<Alumno> getPage(int pageNum, int size, String sortField, String sortDir, String query, String secondaryOption) { 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); List<Alumno> alumnos = alumnoRepository.findByCiclo(id);
if(!alumnos.isEmpty()){ if(!alumnos.isEmpty()){
for(Alumno alumno : alumnos){ for(Alumno alumno : alumnos){
System.out.println("Deleting alumno with id: " + alumno.getId()); alumnoRepository.deleteSkillByAlumnoId(alumno.getId());
alumnoRepository.deleteSkillByAlumnoId(alumno.getId()); // delete associated skills alumnoRepository.deleteById(alumno.getId());
alumnoRepository.deleteById(alumno.getId()); // then delete the alumno 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 @Autowired
private OfertaService ofertaService; private OfertaService ofertaService;
@Autowired
private UsuarioService usuarioService;
@Override @Override
@ -53,12 +52,6 @@ public class CicloService implements ICiclos {
public void deleteById(Long id) { public void deleteById(Long id) {
Ciclo ciclo = cicloRepository.findById(id).orElse(null); Ciclo ciclo = cicloRepository.findById(id).orElse(null);
if(ciclo != 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()); alumnoService.deleteByCiclo(ciclo.getId());
ofertaService.deleteByCicloId(ciclo.getId()); ofertaService.deleteByCicloId(ciclo.getId());
cicloRepository.deleteById(id); cicloRepository.deleteById(id);

@ -203,8 +203,6 @@ public class OfertaService implements IOferta {
sbMessage.append("Empresa: ").append(oferta.getSucursal().getEmpresa().getNombre()).append("\n"); sbMessage.append("Empresa: ").append(oferta.getSucursal().getEmpresa().getNombre()).append("\n");
sbMessage.append("Localidad: ").append(oferta.getSucursal().getLocalidad()).append("\n"); sbMessage.append("Localidad: ").append(oferta.getSucursal().getLocalidad()).append("\n");
sbMessage.append("Descipción: ").append(oferta.getDescripcion()).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()); mailService.sendEmail(alumno.getCorreo(), "Nueva oferta de practicas", sbMessage.toString());
if(alumno.getCorreo2() != null){ if(alumno.getCorreo2() != null){
mailService.sendEmail(alumno.getCorreo2(), "Nueva oferta de practicas", sbMessage.toString()); mailService.sendEmail(alumno.getCorreo2(), "Nueva oferta de practicas", sbMessage.toString());

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

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

@ -211,6 +211,11 @@
urlParams.set('error', 'false'); urlParams.set('error', 'false');
window.history.replaceState({}, '', `${location.pathname}?${urlParams}`); 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() { function deleteUser() {

@ -21,10 +21,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Alumnos Listado de Alumnos
@ -33,7 +30,12 @@
</div> </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"> <div class="scrollable-table">
<table class="table" id="table"> <table class="table" id="table">

@ -15,10 +15,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Ciclos Listado de Ciclos
@ -27,7 +24,12 @@
</div> </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"> <div class="table-container">
<table class="table" id="table"> <table class="table" id="table">

@ -15,10 +15,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Contactos Listado de Contactos
@ -27,8 +24,12 @@
</div> </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"> <div class="table-container">
<table class="table" id="table"> <table class="table" id="table">
<thead class="thread-light"> <thead class="thread-light">

@ -18,10 +18,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Empresas Listado de Empresas
@ -30,7 +27,12 @@
</div> </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"> <div class="table-container">
<table class="table" id="table"> <table class="table" id="table">

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

@ -17,10 +17,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Ofertas Listado de Ofertas
@ -29,7 +26,12 @@
</div> </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"> <div class="scrollable-table">
<table class="table" id="table"> <table class="table" id="table">

@ -15,10 +15,7 @@
</head> </head>
<body> <body>
<div class="header"> <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> <h1>
<i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i> <i class="fas fa-arrow-left" onclick="goBack()" style="cursor:pointer;"></i>
Listado de Sectores Listado de Sectores
@ -27,7 +24,12 @@
</div> </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"> <div class="table-container">
<table class="table" id="table"> <table class="table" id="table">

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

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

Loading…
Cancel
Save

Powered by INFORMATICA.FP.EDU.ES.