From 67b9fa55add377903f9605a40c3e1b12aef8120a Mon Sep 17 00:00:00 2001 From: Adrien <adrien.fryson@outlook.com> Date: Wed, 19 Feb 2025 16:21:54 +0100 Subject: [PATCH] changes --- sae/WEB-INF/src/.DS_Store | Bin 6148 -> 6148 bytes sae/WEB-INF/src/controleur/.DS_Store | Bin 0 -> 6148 bytes sae/WEB-INF/src/controleur/CreerFil.java | 7 +++++++ sae/WEB-INF/src/modele/AbonnementDao.java | 20 ++++++++++++++++++++ sae/WEB-INF/vue/creerFil.jsp | 11 +++++++++++ sae/WEB-INF/vue/listerFil.jsp | 6 +++--- 6 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 sae/WEB-INF/src/controleur/.DS_Store diff --git a/sae/WEB-INF/src/.DS_Store b/sae/WEB-INF/src/.DS_Store index a98287ea9bb9904820a616b46527faa616b68ab0..582de7cbf34dfc3cd5280df1e023c54cf10cc6ec 100644 GIT binary patch delta 142 zcmZoMXfc=|#>B!ku~2NHo+2aL#(>?7iv?Ji7}+NCFiFUG=Hw?Q<>V(ZFfa%(FfceW zFfi!-2LlF%$vjLmIE*b#brej@O(w5lDnM7g9$EEf9_HCho7p+|Iha_uHZ!t(XP(S2 U;>f|sz`(@7z`(FMLSzjy00F%wfB*mh delta 75 zcmZoMXfc=|#>B)qu~2NHo+2a5#(>?7j4YEKSY}NA!|Fa+p4D)34Qn^k#)br@&Fmcf g9864{n*}+(Gf(ChapYiNU|?WmU|`uCA+m-U02S;K-v9sr diff --git a/sae/WEB-INF/src/controleur/.DS_Store b/sae/WEB-INF/src/controleur/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..48a99a9ad01e4601dba5748834a23b47792f957a GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zEL;p&0Z1N%F(jFwBAg)ez-FW}WHRJ1=rLq5Btqpz zsnHM^4S~TM0-(Ih!{Eq}%#h4b%7C1I%NP<pbMljua`Ka)1%x951B2dwFaUdqm%*8# zh#{3Bm7$2i4Jqei>RgYeQ<%Y(A&;SqA)lcVtlO6%m7$oSm?4oNogo!keqflw*o|fi z2Yy=_f1;`9WAI_fWGH4R0o#e!#Z2jFdbt>U81fm?88R92aJi2G6h8C7!Sf#+KHN|} z`3$8DB{+3~!UkCvFGCPRD%d8NOCjYcW_ZXlFfbtN<YNeCC}qfGC<Dg|UjKo^5?L?U z!K1{83IRrlZ#lRj^e8zR0;3@?8UpYT0F@64khVR81C(xn&>$%WMg|6O7l4t0fd!_C z5!?@80Lg*0f@qLd5Dn7GzzAZ2%>Zj<V1#OA1b0I~`aoS05DnJOzzDV(#0P6<U<BLD zz`zL6&cFz@nGxDUVT5RBV1#IAU<BI^bKNLC8Umvs01E+T2txo=|GP3U;OhTFRE?6O zAut*O!!iUISzLl$oWPYbcK?CuT2OtO0F?&S!Jz7x5mYZj^nsLsWtkuYiV|QBL=L1C bRPBSSVnzlAkk-+L04#t;>Cq4vfDixx^}dr% literal 0 HcmV?d00001 diff --git a/sae/WEB-INF/src/controleur/CreerFil.java b/sae/WEB-INF/src/controleur/CreerFil.java index 9e31e62..7f252aa 100644 --- a/sae/WEB-INF/src/controleur/CreerFil.java +++ b/sae/WEB-INF/src/controleur/CreerFil.java @@ -8,6 +8,7 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import modele.FilDeDiscussion; import modele.FilDeDiscussionDAO; +import modele.UtilisateurDao; import jakarta.servlet.ServletException; import java.io.IOException; import org.apache.commons.text.StringEscapeUtils; @@ -29,6 +30,12 @@ public class CreerFil extends HttpServlet { FilDeDiscussionDAO f = new FilDeDiscussionDAO(); String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom")); String createuremail = StringEscapeUtils.escapeHtml4(req.getParameter("createuremail")); + UtilisateurDao udao = new UtilisateurDao(); + if (!udao.emailExists(createuremail)) { + req.setAttribute("error", "L'email n'existe pas."); + req.getRequestDispatcher("/WEB-INF/vue/creerFil.jsp").forward(req, res); + return; + } f.create(new FilDeDiscussion( -1, nom, diff --git a/sae/WEB-INF/src/modele/AbonnementDao.java b/sae/WEB-INF/src/modele/AbonnementDao.java index 5653988..151db56 100644 --- a/sae/WEB-INF/src/modele/AbonnementDao.java +++ b/sae/WEB-INF/src/modele/AbonnementDao.java @@ -7,6 +7,26 @@ import java.util.List; import java.util.ArrayList; public class AbonnementDao { + + public Abonnement findAbonnement(String utilisateurEmail, int idFil) { + Abonnement abonnement = new Abonnement(); + try(Connection con = DS.instance.getConnection()) { + PreparedStatement ps = con.prepareStatement("SELECT * FROM abonnement WHERE utilisateuremail = ? AND filid = ?"); + ps.setString(1, utilisateurEmail); + ps.setInt(2, idFil); + ResultSet rs = ps.executeQuery(); + if (rs.next()) { + abonnement.setUtilisateurEmail(rs.getString("utilisateuremail")); + abonnement.setIdFil(rs.getInt("filid")); + abonnement.setDateAbonnement(rs.getDate("dateabonnement").toLocalDate()); + } else { + System.out.println("Abonnement inexistant"); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + return abonnement; + } public List<Abonnement> findAll() { List<Abonnement> abonnements = new ArrayList<>(); diff --git a/sae/WEB-INF/vue/creerFil.jsp b/sae/WEB-INF/vue/creerFil.jsp index b952762..b7f303f 100644 --- a/sae/WEB-INF/vue/creerFil.jsp +++ b/sae/WEB-INF/vue/creerFil.jsp @@ -45,6 +45,17 @@ <div class="text-center mb-4"> <a href="<%= request.getContextPath() %>/listerFil" class="btn btn-primary">Retour aux fils de discussion</a> </div> + + <% + if (request.getAttribute("error") != null) { + %> + <div class="alert alert-danger" role="alert"> + <%= request.getAttribute("error") %> + </div> + <% + } + %> + <div class="form-container"> <h1 class="text-center">Créer un nouveau fil de discussion</h1> <form action="creerFil" method="post" class="mt-4"> diff --git a/sae/WEB-INF/vue/listerFil.jsp b/sae/WEB-INF/vue/listerFil.jsp index c90ab35..12a3548 100644 --- a/sae/WEB-INF/vue/listerFil.jsp +++ b/sae/WEB-INF/vue/listerFil.jsp @@ -81,9 +81,9 @@ if (!abonnementsIds.contains(f.getId())) { %> <div class="thread-item"> - <h4> - <a href="<%= request.getContextPath() %>/fil?id=<%= f.getId() %>"><%= f.getNom() %></a> - <a href="<%= request.getContextPath() %>/suivreFil?id=<%= f.getId() %>" class="btn btn-primary btn-sm float-right">Suivre</a> + <h4 class="d-flex justify-content-between align-items-center"> + <p class="thread-name mb-0"><%= f.getNom() %></p> + <a href="<%= request.getContextPath() %>/suivreFil?id=<%= f.getId() %>" class="btn btn-primary btn-sm">Suivre</a> </h4> <!-- potentiellement mettre une description --> </div> -- GitLab