terminado

This commit is contained in:
2025-12-29 21:28:48 +01:00
parent 47866ddead
commit 1ba1b28793
8 changed files with 2123 additions and 14 deletions

View File

@ -211,6 +211,15 @@ public class PedidosController {
@PathVariable(name = "id", required = true) Long id,
Model model, Locale locale) {
List<String> keys = List.of(
"app.cancelar",
"app.yes",
"pedido.view.cancel-title",
"pedido.view.cancel-text");
Map<String, String> translations = translationService.getTranslations(locale, keys);
model.addAttribute("languageBundle", translations);
Boolean isAdmin = Utils.isCurrentUserAdmin();
if (isAdmin) {
model.addAttribute("isAdmin", true);
@ -226,6 +235,7 @@ public class PedidosController {
model.addAttribute("direccionFacturacion", direccionFacturacion);
Boolean showCancel = false;
List<Map<String, Object>> lineas = pedidoService.getLineas(id, locale);
for (Map<String, Object> linea : lineas) {
@ -252,6 +262,10 @@ public class PedidosController {
}
linea.put("buttons", buttons);
}
if(pedidoLinea.getEstado() != PedidoLinea.Estado.cancelado && pedidoLinea.getEstado() != PedidoLinea.Estado.terminado) {
showCancel = true;
}
}
List<PedidoDireccion> dirEntrega = pedidoService.getDireccionesEntregaPedidoLinea(
@ -267,10 +281,30 @@ public class PedidosController {
}
model.addAttribute("lineas", lineas);
model.addAttribute("showCancel", showCancel);
model.addAttribute("id", id);
return "imprimelibros/pedidos/pedidos-view";
}
@PostMapping("/cancel/{id}")
@ResponseBody
public Map<String, Object> cancelPedido(
@PathVariable(name = "id", required = true) Long id,
Locale locale) {
Boolean result = pedidoService.cancelarPedido(id);
if (result) {
String successMsg = messageSource.getMessage("pedido.success.pedido-cancelado", null, locale);
return Map.of(
"success", true,
"message", successMsg);
} else {
String errorMsg = messageSource.getMessage("pedido.errors.cancel-pedido", null, locale);
return Map.of(
"success", false,
"message", errorMsg);
}
}
// -------------------------------------
// Acciones sobre las lineas de pedido
// -------------------------------------