From 7b7419a73f2a28eb2f822d46ef5f3f9aab153c2d Mon Sep 17 00:00:00 2001
From: Charlie Darques <charlie.darques.etu@univ-lille.fr>
Date: Fri, 14 Mar 2025 12:20:36 +0100
Subject: [PATCH] =?UTF-8?q?bouton=20follow=20s'affiche=20diff=C3=A9remment?=
 =?UTF-8?q?=20si=20l'user=20follow=20d=C3=A9j=C3=A0=20le=20thread?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 WEB-INF/src/controleurs/Discover.java     | 12 +++++++-----
 WEB-INF/src/controleurs/FollowThread.java |  2 +-
 WEB-INF/src/dao/UserDAO.java              |  8 +++-----
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/WEB-INF/src/controleurs/Discover.java b/WEB-INF/src/controleurs/Discover.java
index 5d909fe..feb4572 100644
--- a/WEB-INF/src/controleurs/Discover.java
+++ b/WEB-INF/src/controleurs/Discover.java
@@ -39,27 +39,29 @@ public class Discover extends HttpServlet {
 
                 out.println(PageGeneration.generateNavMenu());
 
-                List<MyThread> followedThreads = null;
+                List<Integer> followedThreads = null;
 
                 try {
                     followedThreads = userDao.getThreadsFollowedByUser(user);
+                    System.out.println(followedThreads.get(2));
                 }
                 catch (SQLException sqle) {
                     sqle.getStackTrace();
                 }
 
-
                 if (!messages.isEmpty()) {
                     for (Message message : messages) {
                         MyThread msgThread = null;
                         try {
                             msgThread = threadDao.getThreadById(message.getThreadId());
+                            System.out.println(msgThread.getId());
                         } catch (SQLException e) {
                             throw new RuntimeException(e);
                         }
                         User sender = userDao.getUserById(message.getSenderId());
                         String senderName = sender.getUserName();
-                        boolean followed = followedThreads.contains(msgThread);
+                        boolean followed = followedThreads.contains(msgThread.getId());
+                        System.out.println("suivi : " + followed);
                         
                         out.println("<div class=\"message\">");
                         out.println("<h3 class=\"msgThread\">" + msgThread.getThreadName() + "</h3>");
@@ -70,10 +72,10 @@ public class Discover extends HttpServlet {
                         out.println("<input name=\"threadid\" type=\"hidden\" value=\"" + msgThread.getId() +"\">");
                         
                         if (followed) {
-                            out.println("<button type=\"submit\">Followed</button>");
+                            out.println("<button class=\"followed\" type=\"submit\">Followed</button>");
                         }
                         else {
-                            out.println("<button type=\"submit\">Follow</button>");
+                            out.println("<button class=\"unfollowed\" type=\"submit\">Follow</button>");
                         }
                         out.println("</form>");
                     }
diff --git a/WEB-INF/src/controleurs/FollowThread.java b/WEB-INF/src/controleurs/FollowThread.java
index 4c00b8a..857ec85 100644
--- a/WEB-INF/src/controleurs/FollowThread.java
+++ b/WEB-INF/src/controleurs/FollowThread.java
@@ -24,7 +24,7 @@ public class FollowThread extends HttpServlet {
             ThreadDAO threadDao = new ThreadDAO();
 
             
-            List<MyThread> threadsFollowed = null;
+            List<Integer> threadsFollowed = null;
             try {
                 threadsFollowed = userDao.getThreadsFollowedByUser(user);
             } 
diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
index 442504b..c59f0a9 100644
--- a/WEB-INF/src/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -209,17 +209,15 @@ public class UserDAO {
     }
 
     // Récupérer les thread auxquels un utilisateur est abonné
-    public List<MyThread> getThreadsFollowedByUser(User user) throws SQLException {
-        List<MyThread> threads = new ArrayList<>();
-        ThreadDAO threadDAO = new ThreadDAO();
+    public List<Integer> getThreadsFollowedByUser(User user) throws SQLException {
+        List<Integer> threads = new ArrayList<>();
         PreparedStatement ps = this.con.prepareStatement("SELECT threadID_follow FROM follow WHERE userID_follow = ?");
         try {
             ps.setInt(1, user.getId());
             ResultSet rs = ps.executeQuery();
             while(rs.next()){
                 int threadId = rs.getInt(1);
-                String threadname = threadDAO.getThreadById(threadId).getThreadName();
-                threads.add(new MyThread(threadId, threadname));
+                threads.add(threadId);
             }
         }
         catch (SQLException sqle) {
-- 
GitLab