From 485c06840052cf2be1b1cf0ab420f8625a1eb9a1 Mon Sep 17 00:00:00 2001 From: Gabriel Copat <copatg@cardiff.ac.uk> Date: Wed, 13 Dec 2023 17:14:05 +0000 Subject: [PATCH] Bugfixed --- .../Team5/SmartTowns/users/UserController.java | 14 ++++---------- src/main/resources/application.properties | 2 +- src/main/resources/templates/users/login.html | 4 +++- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/Team5/SmartTowns/users/UserController.java b/src/main/java/Team5/SmartTowns/users/UserController.java index 40fd1f34..e9fd1bef 100644 --- a/src/main/java/Team5/SmartTowns/users/UserController.java +++ b/src/main/java/Team5/SmartTowns/users/UserController.java @@ -43,7 +43,7 @@ public class UserController { // return mav; // } - @PostMapping("/login/register") + @PostMapping("/register") public ModelAndView registerUser(@Valid @ModelAttribute("user") NewUser user, BindingResult bindingResult, Model model) { ModelAndView mav = new ModelAndView("users/login", model.asMap()); // TODO VALIDATE EMAIL INPUT @@ -51,19 +51,12 @@ public class UserController { if (bindingResult.hasErrors()) { ModelAndView modelAndView = new ModelAndView("users/login"); modelAndView.addObject("errors", bindingResult); + modelAndView.addObject("error", ""); return modelAndView; } - - if ( userRepository.doesUserExist(user.getEmail()) ) { - mav.addObject("errors", "Email already in use"); - return mav; - } - try { userRepository.addUser(user.name, user.email, user.password); - mav.addObject("error", ""); - //TODO return user creation success - return mav; + return new ModelAndView("redirect:/login?register"); } catch (DataAccessException e) { mav.addObject("error", "User exists"); } @@ -83,6 +76,7 @@ public class UserController { } + /* USER MAPPING & FUNCTIONS */ @GetMapping("/profile/{username}") public ModelAndView getUserPage(@PathVariable String username) { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 52e81d21..fc40c9e4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,4 @@ -spring.datasource.url=jdbc:mariadb://localhost:3306/towns +spring.datasource.url=jdbc:mariadb://localhost:3306/ spring.datasource.username=root spring.datasource.password=comsc diff --git a/src/main/resources/templates/users/login.html b/src/main/resources/templates/users/login.html index a7b40ae5..6119dcce 100644 --- a/src/main/resources/templates/users/login.html +++ b/src/main/resources/templates/users/login.html @@ -19,8 +19,9 @@ <div class="container" th:classappend="${status}" id="container"> <div class="form-container sign-up"> <h1 class="form-title">Create Account</h1> - <form th:object="${user}" action="#" th:action="@{/login/register}" th:method="POST" onsubmit="return registerFormValidation()"> + <form th:object="${user}" action="#" th:action="@{/register}" th:method="POST" onsubmit="return registerFormValidation()"> <div th:if="${error.equals('User exists')}" class="alert alert-error">User already exist</div> + <div th:text="${errors}" class="alert alert-error"></div> <label> <input class="input" th:field="*{name}" id="register-username" type="text" placeholder="Name"> </label> @@ -38,6 +39,7 @@ <form name="f" th:action="@{/login}" th:method="POST"> <div th:if="${param.error}" class="alert alert-error">Invalid Username or Password</div> <div th:if="${param.logout}" class="alert alert-success">Successfully Logged out</div> + <div th:if="${param.register}" class="alert alert-success">Account Created Successfully</div> <label> <input class="input" id="username" type="text" name="username" placeholder="Email"> </label> -- GitLab