diff --git a/README.md b/README.md index b10209a135fa178ab6206e0a3e457f1bda0bac6b..25a57728002aeca9edc73098b30ec553d8c480ad 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ - structure html page d'accueil **CHARLIE** - corriger bug followThread (la requête n'est pas effectuée lors de l'appel de la méthode) OK - corriger bug unfollow +- rajouter message dao - gestion des réactions (like/unlike) **CHARLIE** - fonctionnalité poster un message texte **CHARLIE** OK - gestion du compte **YANNIS** diff --git a/WEB-INF/src/controleurs/Feed.java b/WEB-INF/src/controleurs/Feed.java index 922cd3b28578180355d329766e111a423b34fb38..82c24f8db0b1ec00b10496e877f5d8e2f361257c 100644 --- a/WEB-INF/src/controleurs/Feed.java +++ b/WEB-INF/src/controleurs/Feed.java @@ -41,6 +41,7 @@ public class Feed extends HttpServlet { out.println("<html><body><meta charset=\"utf-8\">"); out.println("<link rel=\"stylesheet\" href=\"css/feed.css\">"); + out.println("<link rel=\"stylesheet\" href=\"css/messages.css\">"); out.println("<title>Welcome</title>"); out.println("<h1>Welcome to CampusTalk, " + login + " !</h1>"); @@ -67,6 +68,7 @@ public class Feed extends HttpServlet { out.println("<form action=\"http://localhost:8080/s4a021-web-backend/LikeMessage\" method=\"post\">"); + out.println("<input name=\"messageid\" type=\"hidden\" value=\"" + message.getMsgId() +"\">"); if (liked_messages.contains(message.getMsgId())) { out.println("<button class=\"liked\" type=\"submit\" value=\"Liked\">Liked</button></form>"); diff --git a/WEB-INF/src/controleurs/LikeMessage.java b/WEB-INF/src/controleurs/LikeMessage.java index 39f2c1e2906ae6861514c83b2437cfbdc6f9520d..31fc9218a23d576ae3419d431ae3854aa256a2cf 100644 --- a/WEB-INF/src/controleurs/LikeMessage.java +++ b/WEB-INF/src/controleurs/LikeMessage.java @@ -1,5 +1,51 @@ package controleurs; -public class LikeMessage { - // à remplir +import java.io.IOException; +import java.sql.SQLException; + +import dao.ThreadDAO; +import dao.UserDAO; +import dto.Message; +import dto.User; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +@WebServlet("/LikeMessage") +public class LikeMessage extends HttpServlet { + public void service (HttpServletRequest req, HttpServletResponse res) throws IOException { + if (req.getSession().getAttribute("user") != null) { + User user = (User) req.getSession().getAttribute("user"); + + UserDAO userDao = new UserDAO(); + ThreadDAO threadDao = new ThreadDAO(); + + Message msg = req.getParameter("messageid"); + + // à modifier + boolean messageLiked = false; + + if (!messageLiked) { + try { + userDao.reactToMsg(user, msg); + } + catch (SQLException sqle) { + sqle.getStackTrace(); + } + } + else { + try { + userDao.unreactToMsg(user, msg); // méthode à créer + } + catch (SQLException sqle) { + sqle.getStackTrace(); + } + } + res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome"); + } + else { + res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html"); + } + } } diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java index c59f0a971e4b77ca86a75c58a386a69a34efbddc..9b098e98a2ae608ff6a9f98e0eb6831e84467e97 100644 --- a/WEB-INF/src/dao/UserDAO.java +++ b/WEB-INF/src/dao/UserDAO.java @@ -325,4 +325,9 @@ public class UserDAO { } return messages; } + + public void unreactToMsg(User user, Message msg) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'unreactToMsg'"); + } } \ No newline at end of file diff --git a/css/messages.css b/css/messages.css new file mode 100644 index 0000000000000000000000000000000000000000..e3e2ad4b3817a75b2ac767562170be8b6e099692 --- /dev/null +++ b/css/messages.css @@ -0,0 +1,7 @@ +.unliked { + background-color: rgb(185, 168, 189); +} + +.liked { + background-color: rgb(247, 160, 211); +} \ No newline at end of file