diff --git a/WEB-INF/src/controleur/ThreadController.java b/WEB-INF/src/controleur/ThreadController.java index 75c847499caa47075821b95f381767c071b69413..cb2dc5abe595aab397c8f892d4672ac31e65d468 100644 --- a/WEB-INF/src/controleur/ThreadController.java +++ b/WEB-INF/src/controleur/ThreadController.java @@ -8,6 +8,7 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import modele.dao.DaoFollower; +import modele.dao.DaoThread; import modele.dto.Follower; @WebServlet("/thread") @@ -23,6 +24,7 @@ public class ThreadController extends HttpServlet { String action = (String) req.getParameter("action"); String vue; DaoFollower daoFollower = new DaoFollower(); + DaoThread daoThread = new DaoThread(); int idThread = Integer.parseInt(req.getParameter("id")); Follower follow = new Follower(username, idThread); @@ -39,6 +41,10 @@ public class ThreadController extends HttpServlet { daoFollower.delete(follow); vue = "WEB-INF/vue/filsSuivis.jsp"; break; + case "delete": + daoThread.delete(idThread); + vue = "WEB-INF/vue/accueil.jsp"; + break; default: vue = "WEB-INF/vue/fils.jsp"; } diff --git a/WEB-INF/vue/compte.jsp b/WEB-INF/vue/compte.jsp index 61a55c67cef4b261f322b04190e00af981cbb527..38af53ae826f503d2fe5c50aad2fb4baa0789d98 100644 --- a/WEB-INF/vue/compte.jsp +++ b/WEB-INF/vue/compte.jsp @@ -113,7 +113,7 @@ </div> <div class="d-flex"> <a class="me-3 align-self-center btn btn-primary" href="?chat=<%= thread.getId_thread() %>">Ouvrir <i class="bi-chat-fill"></i></a> - <a class="me-3 align-self-center btn btn-danger" href="?delete=<%= thread.getId_thread() %>">Supprimer <i class="bi-x-circle-fill"></i></a> + <a class="me-3 align-self-center btn btn-danger" href="thread?action=delete&id=<%= thread.getId_thread() %>">Supprimer <i class="bi-x-circle-fill"></i></a> </div> </div> </div> diff --git a/baseDeDonnee/init.sql b/baseDeDonnee/init.sql index fd16ee9493c8bf832db3b3e14414bffcb46e5422..175faf8abe9926548bac805ac1545ab4d684dbe5 100644 --- a/baseDeDonnee/init.sql +++ b/baseDeDonnee/init.sql @@ -1,6 +1,5 @@ DROP TABLE IF EXISTS followers; DROP TABLE IF EXISTS messages; -DROP TABLE IF EXISTS followers; DROP TABLE IF EXISTS threads; DROP TABLE IF EXISTS users; @@ -26,7 +25,7 @@ CREATE TABLE followers ( PRIMARY KEY (username, id_thread), FOREIGN KEY (username) REFERENCES users(username), - FOREIGN KEY (id_thread) REFERENCES threads(id_thread) + FOREIGN KEY (id_thread) REFERENCES threads(id_thread) ON DELETE CASCADE ); CREATE TABLE messages ( @@ -37,6 +36,6 @@ CREATE TABLE messages ( time TIMESTAMP WITH TIME ZONE, FOREIGN KEY (sender) REFERENCES users(username), - FOREIGN KEY (id_thread) REFERENCES threads(id_thread) + FOREIGN KEY (id_thread) REFERENCES threads(id_thread) ON DELETE CASCADE );