From e2ac24d18bbfef72be2e9b4d77886b0f24828a7e Mon Sep 17 00:00:00 2001 From: Othemane KHACHNANE <khachnaneothemane@gmail.com> Date: Fri, 7 Mar 2025 11:12:27 +0100 Subject: [PATCH] delete message --- sae/WEB-INF/src/controleur/Delete.java | 36 ++++++++++++++++++++++++++ sae/WEB-INF/src/modele/DS.java | 6 ++--- sae/WEB-INF/src/modele/MessageDao.java | 2 ++ sae/WEB-INF/vue/fil.jsp | 6 +++++ 4 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 sae/WEB-INF/src/controleur/Delete.java diff --git a/sae/WEB-INF/src/controleur/Delete.java b/sae/WEB-INF/src/controleur/Delete.java new file mode 100644 index 0000000..68315c5 --- /dev/null +++ b/sae/WEB-INF/src/controleur/Delete.java @@ -0,0 +1,36 @@ +package controleur; + +import java.io.IOException; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import modele.Message; +import modele.MessageDao; + +@WebServlet("/delete") +public class Delete extends HttpServlet { + public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { + if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { + res.sendRedirect(req.getContextPath() + "/login"); + return; + } + req.getRequestDispatcher("/WEB-INF/vue/listeFil.jsp").forward(req, res); + } + + public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { + if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { + res.sendRedirect(req.getContextPath() + "/login"); + return; + } + String email = (String) req.getSession().getAttribute("email"); + int messageId = Integer.parseInt(req.getParameter("messageId")); + MessageDao messageDao = new MessageDao(); + Message message = messageDao.findMessage(messageId); + if (message.getAuteurEmail().equals(email)) { + messageDao.delete(messageId); + } + res.sendRedirect(req.getHeader("Referer")); + } +} diff --git a/sae/WEB-INF/src/modele/DS.java b/sae/WEB-INF/src/modele/DS.java index a9b4271..f34509c 100644 --- a/sae/WEB-INF/src/modele/DS.java +++ b/sae/WEB-INF/src/modele/DS.java @@ -15,9 +15,9 @@ public class DS { } public Connection getConnection() { - String url = "jdbc:postgresql://localhost:5432/postgres"; - String login = "postgres"; - String pwd = ""; + String url = "jdbc:postgresql://psqlserv/but2"; + String login = "othemanekhachnaneetu"; + String pwd = "moi"; Connection con = null; try { con = DriverManager.getConnection(url, login, pwd); diff --git a/sae/WEB-INF/src/modele/MessageDao.java b/sae/WEB-INF/src/modele/MessageDao.java index 729a4df..b1604a6 100644 --- a/sae/WEB-INF/src/modele/MessageDao.java +++ b/sae/WEB-INF/src/modele/MessageDao.java @@ -140,4 +140,6 @@ public class MessageDao { } } + + } diff --git a/sae/WEB-INF/vue/fil.jsp b/sae/WEB-INF/vue/fil.jsp index 0284686..50e9fce 100644 --- a/sae/WEB-INF/vue/fil.jsp +++ b/sae/WEB-INF/vue/fil.jsp @@ -85,6 +85,12 @@ </button> </form> </div> + <% if (session.getAttribute("email").equals(m.getAuteurEmail())) { %> + <form action="<%= request.getContextPath() %>/delete" method="post" class="mt-2"> + <input type="hidden" name="messageId" value="<%= m.getId() %>"> + <button type="submit" class="text-red-500 hover:text-red-700">delete</button> + </form> + <% } %> </div> </div> <% } %> -- GitLab