Gestion-inventario/src/main/java/com/ieslamar/GestionInventario/controllers/UserController.java

72 lines
2.2 KiB
Java
Raw Normal View History

2025-03-24 18:55:09 +00:00
package com.ieslamar.GestionInventario.controllers;
import com.ieslamar.GestionInventario.dto.BotonDTO;
import com.ieslamar.GestionInventario.entities.User;
import com.ieslamar.GestionInventario.services.UserService;
import org.springframework.beans.factory.annotation.Autowired;
2025-03-24 18:55:09 +00:00
import org.springframework.stereotype.Controller;
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 java.util.List;
2025-03-24 18:55:09 +00:00
@Controller
public class UserController {
2025-03-24 18:55:09 +00:00
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/login")
public String loginPage() {
return "login"; // Retorna la vista login.html
}
@GetMapping("/home")
public String homePage(Model model) {
List<BotonDTO> botones = List.of(
new BotonDTO("Inventario", "/management", false, null),
new BotonDTO("Gestión", "/management", true, null)
);
model.addAttribute("buttons", botones);
2025-03-24 18:55:09 +00:00
return "home"; // Retorna la vista home.html
}
@GetMapping("/register")
public String registerPage() {
return "register"; // Retorna la vista register.html
}
@PostMapping("/register")
public String register(@RequestParam String username, @RequestParam String password, @RequestParam String role, @RequestParam String mail) {
userService.registerUser(username, password, role, mail, null);
2025-03-24 18:55:09 +00:00
return "redirect:/login?success"; // Redirige al login tras registrarse
}
@GetMapping("/management")
public String managementPage(){
return "management";
}
@GetMapping("/user_management")
public String listUsers(Model model) {
List<User> users = userService.getAllUsers();
model.addAttribute("users", users);
return "user_management";
}
@GetMapping("/delete_user")
public String deleteUser(@RequestParam Long id) {
User user = userService.getUserById(id);
if (user != null) {
userService.deleteUser(user);
}
return "redirect:/user_management";
}
2025-03-24 18:55:09 +00:00
}