diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java index 08c6e43..9d8ba06 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java @@ -342,4 +342,11 @@ public class User implements Serializable { * Enumération des genres possibles */ public enum Gender {MALE, FEMALE, OTHER} + + public static Gender getGender(String value) throws IllegalArgumentException{ + if (value.equals("MALE")) return Gender.MALE; + if (value.equals("FEMALE")) return Gender.FEMALE; + if (value.equals("OTHER")) return Gender.OTHER; + throw new IllegalArgumentException("Le genre selectionné n'existe pas"); + } } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/RegisterServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/RegisterServlet.java index 67bf3f9..6bec8b7 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/RegisterServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/RegisterServlet.java @@ -12,6 +12,13 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import uppa.project.dao.DAOException; +import uppa.project.dao.jpa.DAO_JPA_User; +import uppa.project.pojo.User; @WebServlet(name = "registerServlet", value = "/register") public class RegisterServlet extends HttpServlet { @@ -29,9 +36,38 @@ public class RegisterServlet extends HttpServlet { } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - // TODO : Implement the registration process + String username = request.getParameter("username"); + String email = request.getParameter("email"); + String birthdate = request.getParameter("birthdate"); + System.out.println(birthdate); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + Date birth; + try { + birth = formatter.parse(birthdate); + } catch (ParseException e) { + throw new RuntimeException(e); + } + System.out.println("birth: " + birth); + String gender = request.getParameter("gender"); + String password = request.getParameter("password"); + String confirmPassword = request.getParameter("confirmPassword"); + if (!password.equals(confirmPassword)) { + response.sendRedirect(request.getContextPath() + "/register?error=matching-password"); + return; + } + createAccount(username, email, password, birth, gender); + response.sendRedirect(request.getContextPath() + "/login?success=account-created"); } + public static void createAccount(String username, String email, String password, Date birth, String gender){ + try{ + DAO_JPA_User daoJpaUser = new DAO_JPA_User(); + User user = new User(username, email, password, birth, User.getGender(gender)); + daoJpaUser.create(user); + } catch (DAOException | IllegalArgumentException e) { + throw new RuntimeException(e); + } + } public void destroy() { } -} \ No newline at end of file +} diff --git a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/views/register.jsp b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/views/register.jsp index ffea771..b854a29 100644 --- a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/views/register.jsp +++ b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/views/register.jsp @@ -8,7 +8,7 @@
-
Titre du jeu
+
Cards Rush - Inscription
@@ -16,27 +16,27 @@

Register

- + - + - + - - + + - + - - + + + + @@ -44,7 +44,7 @@

-

Already have an account? Login

+

Déjà un compte ? Se connecter