diff --git a/sae/WEB-INF/src/controleur/Delete.java b/sae/WEB-INF/src/controleur/Delete.java new file mode 100644 index 0000000000000000000000000000000000000000..68315c50c563cb1b5326bccf78264658ee4bae1f --- /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 a9b4271dd2507834c908aca57493cb0f2182af86..f34509cee1b54bec3d01ee14d49f973f613189ac 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 729a4df7f78feec2b99211756bda26f16790e17c..b1604a63607d8d720d49820df7ac01739da2681a 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 0284686436acfff895907d3eb5df40245d8577fa..50e9fce07b942d332568e9b4268b130969e88cc6 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> <% } %>