diff --git a/src/main/java/Team5/SmartTowns/users/UserController.java b/src/main/java/Team5/SmartTowns/users/UserController.java index 40fd1f345ee52a03fdaf24975025231340654533..e9fd1bef1b655dad57a0550739cbaad74e996e38 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 52e81d219c68d4702643665e6f9d58c7aebb8308..fc40c9e4004d1b4e83234ecefecf308e3e4871b8 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 a7b40ae5f9b2f83fb3034a5b48674d621e29011a..6119dcce66cb09b8a4dd9ef7a2e3da77bfa80278 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>