From cdbd05aa25c7b9219945c0799a97a039a3b6debe Mon Sep 17 00:00:00 2001 From: vicsash Date: Fri, 17 May 2024 16:57:54 +0200 Subject: [PATCH] Acabando con implementacion de keyword para almnos y empresas --- .../modelControllers/AlumnoController.java | 15 +++++- .../modelControllers/EmpressaController.java | 14 +++++- .../templates/admin/alumno/create.html | 35 ++++++++++---- .../templates/admin/alumno/update.html | 33 +++++++++++-- .../templates/admin/empresa/create.html | 39 +++++++++++---- .../templates/admin/empresa/update.html | 47 ++++++++++++++----- .../resources/templates/list/empresas.html | 2 +- 7 files changed, 144 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/example/proyectofinal/controllers/modelControllers/AlumnoController.java b/src/main/java/com/example/proyectofinal/controllers/modelControllers/AlumnoController.java index ebb1d42..b0f22b3 100644 --- a/src/main/java/com/example/proyectofinal/controllers/modelControllers/AlumnoController.java +++ b/src/main/java/com/example/proyectofinal/controllers/modelControllers/AlumnoController.java @@ -59,11 +59,17 @@ public class AlumnoController { @PostMapping("/alumno/save") public ResponseEntity saveAlumno(Alumno alumno, @RequestParam("ciclo") Long ciclo, @RequestParam("skills") List skills, @RequestParam("joinedKeywords") String keywords){ try{ + //For some reason the transef of keywords from html to controllers is not done completely right + //due to the fact that the first character is always a comma, so we need to remove it + if (keywords != null && !keywords.isEmpty() && keywords.charAt(0) == ',') { + keywords = keywords.substring(1); + } Ciclo cicloEntity = cicloService.findById(ciclo); Set skillEntities = skillService.findAllByIds(skills); alumno.setCiclo(cicloEntity); alumno.setSkills(skillEntities); - alumno.setKeywords(keywords); // Set the keywords from the joinedKeywords string + assert keywords != null; + alumno.setKeywords(keywords); Alumno testIfExist = alumnoService.exists(alumno); if(testIfExist != null){ return new ResponseEntity<>("El alumno ya existe", HttpStatus.BAD_REQUEST); @@ -109,12 +115,17 @@ public class AlumnoController { @PostMapping("/alumno/update") - public ResponseEntity updateAlumno(Alumno alumno, @RequestParam("ciclo") Long ciclo, @RequestParam("skills") List skills){ + public ResponseEntity updateAlumno(Alumno alumno, @RequestParam("ciclo") Long ciclo, @RequestParam("skills") List skills,@RequestParam("joinedKeywords") String keywords){ try{ + if (keywords != null && !keywords.isEmpty() && keywords.charAt(0) == ',') { + keywords = keywords.substring(1); + } Ciclo cicloEntity = cicloService.findById(ciclo); Set skillEntities = skillService.findAllByIds(skills); alumno.setCiclo(cicloEntity); alumno.setSkills(skillEntities); + assert keywords != null; + alumno.setKeywords(keywords); alumnoService.save(alumno); return new ResponseEntity<>("El alumno fue actualizado con exito", HttpStatus.OK); }catch (Exception e) { diff --git a/src/main/java/com/example/proyectofinal/controllers/modelControllers/EmpressaController.java b/src/main/java/com/example/proyectofinal/controllers/modelControllers/EmpressaController.java index 72f3c36..c725c8a 100644 --- a/src/main/java/com/example/proyectofinal/controllers/modelControllers/EmpressaController.java +++ b/src/main/java/com/example/proyectofinal/controllers/modelControllers/EmpressaController.java @@ -61,8 +61,13 @@ public class EmpressaController { @PostMapping("/empresa/save") - public ResponseEntity saveEmpresa(Empresa empresa, @RequestParam("sector.id") Long sectorId){ + public ResponseEntity saveEmpresa(Empresa empresa, @RequestParam("sector.id") Long sectorId, @RequestParam("joinedKeywords") String keywords){ try{ + if (keywords != null && !keywords.isEmpty() && keywords.charAt(0) == ',') { + keywords = keywords.substring(1); + } + assert keywords != null; + empresa.setKeywords(keywords); Sector existingSector = sectorService.findById(sectorId); empresa.setSector(existingSector); if(empresaService.exists(empresa) != null){ @@ -98,8 +103,13 @@ public class EmpressaController { @PostMapping("/empresa/update") - public ResponseEntity updateEmpresa(Empresa empresa, @RequestParam("sector.id") Long sectorId){ + public ResponseEntity updateEmpresa(Empresa empresa, @RequestParam("sector.id") Long sectorId, @RequestParam("joinedKeywords") String keywords){ try{ + if (keywords != null && !keywords.isEmpty() && keywords.charAt(0) == ',') { + keywords = keywords.substring(1); + } + assert keywords != null; + empresa.setKeywords(keywords); Sector existingSector = sectorService.findById(sectorId); if(existingSector != null) { empresa.setSector(existingSector); diff --git a/src/main/resources/templates/admin/alumno/create.html b/src/main/resources/templates/admin/alumno/create.html index b823d3f..d285e20 100644 --- a/src/main/resources/templates/admin/alumno/create.html +++ b/src/main/resources/templates/admin/alumno/create.html @@ -99,7 +99,6 @@
-
@@ -121,7 +120,7 @@
- +
@@ -164,30 +163,46 @@ + +