From 1df99d3ea06ada4253890d9b8341309f0841eae1 Mon Sep 17 00:00:00 2001 From: jon ander Date: Mon, 14 Apr 2025 20:18:58 +0200 Subject: [PATCH] Rename generic_list.html to list.html; update UserController and SecurityConfig for new user and department list endpoints --- .../GestionInventario/SecurityConfig.java | 2 +- .../controllers/UserController.java | 48 ++++++----------- .../{generic_list.html => list.html} | 7 ++- .../resources/templates/user_management.html | 54 ------------------- 4 files changed, 19 insertions(+), 92 deletions(-) rename src/main/resources/templates/{generic_list.html => list.html} (79%) delete mode 100644 src/main/resources/templates/user_management.html diff --git a/src/main/java/com/ieslamar/GestionInventario/SecurityConfig.java b/src/main/java/com/ieslamar/GestionInventario/SecurityConfig.java index ab3c0bf..3b27042 100644 --- a/src/main/java/com/ieslamar/GestionInventario/SecurityConfig.java +++ b/src/main/java/com/ieslamar/GestionInventario/SecurityConfig.java @@ -25,7 +25,7 @@ public class SecurityConfig { .requestMatchers("/css/**", "/js/**", "/images/**").permitAll() // Permitir acceso a CSS, JS e imágenes .requestMatchers("/admin/**").hasRole("ADMIN") .requestMatchers("/user/**").hasAnyRole("USER", "ADMIN") - .requestMatchers("/management", "/user_management", "/register","/generic_list","generic_list_departamento").hasRole("ADMIN") + .requestMatchers("/management", "/user_management", "/register","/user_list","/departamento_list").hasRole("ADMIN") .requestMatchers("/", "/login").permitAll() .anyRequest().authenticated() ) diff --git a/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java b/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java index 808ef4c..b7dc777 100644 --- a/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java +++ b/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java @@ -5,7 +5,6 @@ import com.ieslamar.GestionInventario.dto.BotonDTO; import com.ieslamar.GestionInventario.entities.User; import com.ieslamar.GestionInventario.services.DepartamentoService; import com.ieslamar.GestionInventario.services.UserService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; @@ -13,13 +12,11 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import java.util.ArrayList; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -35,9 +32,9 @@ public class UserController { this.departamentoService = departamentoService; } - private final BotonDTO gestionUsuarios = new BotonDTO("Gestión de usuarios", "/user_management", true, null); + private final BotonDTO gestionUsuarios = new BotonDTO("Gestión de usuarios", "/user_list", true, null); private final BotonDTO gestionProductos = new BotonDTO("Gestión de Productos", "/user_management", true, null); - private final BotonDTO gestionDepartamentos = new BotonDTO("Gestión de Departamentos", "/user_management", true, null); + private final BotonDTO gestionDepartamentos = new BotonDTO("Gestión de Departamentos", "/departamento_list", true, null); private final BotonDTO gestionCategorias = new BotonDTO("Gestión de Categorías", "/user_management", true, null); private final BotonDTO gestionUbicaciones = new BotonDTO("Gestión de Ubicaciones", "/user_management", true, null); private final BotonDTO gestionInventario = new BotonDTO("Gestión de Inventario", "/user_management", true, null); @@ -113,36 +110,21 @@ public class UserController { @PostMapping("/register") public String register(@RequestParam String username, @RequestParam String password, @RequestParam String role, @RequestParam String mail) { userService.registerUser(username, password, role, mail, null); - return "redirect:/login?success"; // Redirige al login tras registrarse + return "redirect:/user_list"; // Redirige al login tras registrarse } - @GetMapping("/user_management") - public String listUsers(Model model) { - List users = userService.getAllUsers(); - model.addAttribute("users", users); - return "user_management"; - } - @GetMapping("/delete_user") - public String deleteUser(@RequestParam Long id) { + @PostMapping("/delete_user") + public String deleteUser(@RequestParam("id") Long id) { User user = userService.getUserById(id); - if (user != null) { - userService.deleteUser(user); - } - return "redirect:/user_management"; + userService.deleteUser(user); // Llama al servicio para eliminar el usuario + return "redirect:/user_list"; // Redirige a la página de gestión de usuarios } - - - - - - - - @GetMapping("/generic_list") + @GetMapping("/user_list") public String genericPage(Model model) { - model.addAttribute("title", "Gestión Genérica"); + model.addAttribute("title", "Gestión de usuarios"); model.addAttribute("headers", List.of("ID", "Nombre", "Rol", "Email", "Acciones")); model.addAttribute("items", userService.getAllUsers().stream() .map(user -> Map.of( @@ -151,15 +133,15 @@ public class UserController { )) .toList()); model.addAttribute("actionsUrl", Map.of( - "edit", "/edit_user", + "edit", "", "delete", "/delete_user" )); model.addAttribute("backUrl", "/Inventario/home"); model.addAttribute("addUrl", "/Inventario/register"); - return "generic_list"; + return "list"; } - @GetMapping("/generic_list_departamento") + @GetMapping("/departamento_list") public String genericPageDepartamento(Model model) { model.addAttribute("title", "Gestión Genérica"); model.addAttribute("headers", List.of("ID", "Nombre","Acciones")); @@ -170,12 +152,12 @@ public class UserController { )) .toList()); model.addAttribute("actionsUrl", Map.of( - "edit", "/edit_user", - "delete", "/delete_user" + "edit", "", + "delete", "" )); model.addAttribute("backUrl", "/Inventario/home"); model.addAttribute("addUrl", "/Inventario/register"); - return "generic_list"; + return "list"; } diff --git a/src/main/resources/templates/generic_list.html b/src/main/resources/templates/list.html similarity index 79% rename from src/main/resources/templates/generic_list.html rename to src/main/resources/templates/list.html index 64fde65..6b8f406 100644 --- a/src/main/resources/templates/generic_list.html +++ b/src/main/resources/templates/list.html @@ -19,10 +19,9 @@ -
- -
diff --git a/src/main/resources/templates/user_management.html b/src/main/resources/templates/user_management.html deleted file mode 100644 index 61367ce..0000000 --- a/src/main/resources/templates/user_management.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - Gestión de Usuarios - - - -
-

Gestión de Usuarios

-
- - - - - - - - - - - - - - - - - - - -
IDNombreRolEmailAcciones
- -
- - -
-
-
- -
- - - -