diff --git a/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java b/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java index e1f6d84..4ded1f8 100644 --- a/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java +++ b/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java @@ -11,6 +11,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.security.core.GrantedAuthority; @@ -119,6 +120,8 @@ public class UserController { return "redirect:/user_list"; // Redirige al login tras registrarse } + + @PostMapping("/delete_user") public String deleteUser(@RequestParam("id") Long id) { User user = userService.getUserById(id); @@ -126,15 +129,24 @@ public class UserController { return "redirect:/user_list"; // Redirige a la página de gestión de usuarios } - @GetMapping("/user_list") - public String genericPage(Model model) { + public String userList(Model model) { + return buildUserList(model, userService.getAllUsers()); + } + + private String buildUserList(Model model, List users) { model.addAttribute("title", "Gestión de usuarios"); - model.addAttribute("headers", List.of("ID", "Nombre", "Rol", "Email","Departamento", "Acciones")); - model.addAttribute("items", userService.getAllUsers().stream() + model.addAttribute("headers", List.of("ID", "Nombre", "Rol", "Email","Departamento")); + model.addAttribute("items", users.stream() .map(user -> Map.of( "id", user.getId(), - "values", List.of(user.getId(), user.getNombre(), user.getRole(), user.getMail(), user.getDepartamento() != null ? user.getDepartamento().getNombre() : " ") + "values", List.of( + user.getId(), + user.getNombre(), + user.getRole(), + user.getMail(), + user.getDepartamento() != null ? user.getDepartamento().getNombre() : " " + ) )) .toList()); model.addAttribute("actionsUrl", Map.of( @@ -143,21 +155,24 @@ public class UserController { )); model.addAttribute("backUrl", "/Inventario/home"); model.addAttribute("addUrl", "/Inventario/userPage"); + return "list"; } + + + + @GetMapping("/departamento_list") public String genericPageDepartamento(Model model) { model.addAttribute("title", "Gestión de Departamentos"); - model.addAttribute("headers", List.of("ID", "Nombre","Acciones")); - + model.addAttribute("headers", List.of("ID", "Nombre")); model.addAttribute( "items", departamentoService.getAllDepartamentos().stream().map(departamento -> Map.of("id", departamento.getId(), "values", List.of(departamento.getId(), departamento.getNombre()))).toList() ); - model.addAttribute("actionsUrl", Map.of( "edit", "", "delete", "" diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 98eb346..47fdebf 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -11,7 +11,6 @@ spring.datasource.url=jdbc:mysql://localhost:3306/Inventario?useSSL=false&server spring.datasource.username=InventarioSpring spring.datasource.password=1234567891 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - # Configuración de JPA e Hibernate spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect spring.jpa.hibernate.ddl-auto=validate diff --git a/src/main/resources/templates/list.html b/src/main/resources/templates/list.html index b3f15eb..1b1b25e 100644 --- a/src/main/resources/templates/list.html +++ b/src/main/resources/templates/list.html @@ -9,24 +9,25 @@

-
+ + +
- -
+
Acciones