From 90466f38491bf11483dcf4680a230d62ecdfb992 Mon Sep 17 00:00:00 2001 From: Leonardo Rosario Date: Sat, 23 May 2026 20:18:36 -0300 Subject: [PATCH] feat: add new bottom of ocorrencia and fix the error page --- .../Controller/CustomErrorController.java | 40 +++++++++++++++++++ .../Exception/GlobalExceptionHandler.java | 2 +- .../resources/templates/morador/home.html | 6 +-- 3 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 Convive/src/main/java/com/EC6/Convive/Controller/CustomErrorController.java diff --git a/Convive/src/main/java/com/EC6/Convive/Controller/CustomErrorController.java b/Convive/src/main/java/com/EC6/Convive/Controller/CustomErrorController.java new file mode 100644 index 0000000..a3e5870 --- /dev/null +++ b/Convive/src/main/java/com/EC6/Convive/Controller/CustomErrorController.java @@ -0,0 +1,40 @@ +package com.EC6.Convive.Controller; + +import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.boot.web.servlet.error.ErrorController; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.UUID; + +@Controller +public class CustomErrorController implements ErrorController { + + @RequestMapping("/error") + public String handleError(HttpServletRequest request, Model model) { + Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); + Object message = request.getAttribute(RequestDispatcher.ERROR_MESSAGE); + + String codigoErro = "ERR-" + UUID.randomUUID().toString().substring(0, 6).toUpperCase(); + String dataHora = LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")); + + if (status != null) { + codigoErro = "HTTP-" + status.toString(); + } + + model.addAttribute("codigoErro", codigoErro); + model.addAttribute("dataHora", dataHora); + + String msgErro = (message != null && !message.toString().isBlank()) + ? message.toString() + : "Acesso negado, recurso não encontrado ou ocorreu um erro inesperado."; + + model.addAttribute("mensagem", msgErro); + + return "public/error"; + } +} \ No newline at end of file diff --git a/Convive/src/main/java/com/EC6/Convive/Exception/GlobalExceptionHandler.java b/Convive/src/main/java/com/EC6/Convive/Exception/GlobalExceptionHandler.java index 90a43c6..7470854 100644 --- a/Convive/src/main/java/com/EC6/Convive/Exception/GlobalExceptionHandler.java +++ b/Convive/src/main/java/com/EC6/Convive/Exception/GlobalExceptionHandler.java @@ -23,6 +23,6 @@ public String handleException(Exception ex, Model model) { System.err.println("[" + codigoErro + "] " + ex.getMessage()); ex.printStackTrace(); - return "error"; + return "public/error"; } } \ No newline at end of file diff --git a/Convive/src/main/resources/templates/morador/home.html b/Convive/src/main/resources/templates/morador/home.html index 2e05421..01e7a7a 100644 --- a/Convive/src/main/resources/templates/morador/home.html +++ b/Convive/src/main/resources/templates/morador/home.html @@ -103,9 +103,9 @@

Próximas Reservas

- + + add Registrar Ocorrência +