Refactor button rendering logic in home page; update button URLs and integrate button fragment for improved dynamic rendering
This commit is contained in:
parent
b56442d48b
commit
d60b10f4d8
|
|
@ -30,8 +30,8 @@ public class UserController {
|
||||||
@GetMapping("/home")
|
@GetMapping("/home")
|
||||||
public String homePage(Model model) {
|
public String homePage(Model model) {
|
||||||
List<BotonDTO> botones = List.of(
|
List<BotonDTO> botones = List.of(
|
||||||
new BotonDTO("Inventario", "/Inventario/management", false, null),
|
new BotonDTO("Inventario", "/management", false, null),
|
||||||
new BotonDTO("Gestión", "/Inventario/management", true, "button_salir")
|
new BotonDTO("Gestión", "/management", true, null)
|
||||||
);
|
);
|
||||||
model.addAttribute("buttons", botones);
|
model.addAttribute("buttons", botones);
|
||||||
return "home"; // Retorna la vista home.html
|
return "home"; // Retorna la vista home.html
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,18 @@
|
||||||
<div th:fragment="buttonList(buttons)">
|
<div th:fragment="buttonList(buttons)">
|
||||||
<div class="container1">
|
<div class="container1">
|
||||||
<div th:each="button : ${buttons}">
|
<div th:each="button : ${buttons}">
|
||||||
<div th:utext="${button.isRequireAdmin()}"></div>
|
<div th:if="${!button.isRequireAdmin()}">
|
||||||
|
<a th:href="@{${button.getUrl()}}">
|
||||||
|
<button th:class="${button.getCssClass()}" th:text="${button.getTexto()}"></button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div th:if="${button.isRequireAdmin()}">
|
||||||
|
<div sec:authorize="hasRole('ADMIN')">
|
||||||
|
<a th:href="@{${button.getUrl()}}">
|
||||||
|
<button th:class="${button.getCssClass()}" th:text="${button.getTexto()}"></button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -14,15 +25,3 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <div th:if="${!button.isRequireAdmin()}">-->
|
|
||||||
<!-- <a th:href="@{${button.getUrl()}}">-->
|
|
||||||
<!-- <button th:class="${button.getCssClass()}" th:text="${button.getTexto()}"></button>-->
|
|
||||||
<!-- </a>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div th:if="${button.isRequireAdmin()}">-->
|
|
||||||
<!-- <div sec:authorize="hasRole('ADMIN')">-->
|
|
||||||
<!-- <a th:href="@{${button.getUrl()}}">-->
|
|
||||||
<!-- <button th:class="${button.getCssClass()}" th:text="${button.getTexto()}"></button>-->
|
|
||||||
<!-- </a>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
|
|
@ -7,11 +7,8 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h2>Bienvenido a Gestión de Inventario</h2>
|
<h2>Bienvenido a Gestión de Inventario</h2>
|
||||||
<div th:each="button : ${buttons}">
|
|
||||||
<div th:utext="${button.isRequireAdmin()}"></div>
|
|
||||||
</div>
|
|
||||||
<!-- Reemplaza los botones por el fragmento reutilizable -->
|
<!-- Reemplaza los botones por el fragmento reutilizable -->
|
||||||
<div th:replace="fragments/buttons :: buttonList(buttons)"></div>
|
<div th:replace="fragments/buttons :: buttonList(${buttons})"></div>
|
||||||
|
|
||||||
<!-- Formulario de Logout (estático y fuera del fragmento) -->
|
<!-- Formulario de Logout (estático y fuera del fragmento) -->
|
||||||
<form th:action="@{/logout}" method="post">
|
<form th:action="@{/logout}" method="post">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue