Skip to content
Snippets Groups Projects
Commit 9564ad0d authored by Gabriel Copat's avatar Gabriel Copat
Browse files

Mobile phone layout for all trails page

parent 6d10e0ec
No related branches found
No related tags found
1 merge request!37Resolve "As a repeat trail visitor , I want to be able to create an account so I can save and review my progress."
......@@ -6,7 +6,7 @@ import Team5.SmartTowns.rewards.RewardsRepository;
import Team5.SmartTowns.rewards.Sticker;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.dao.DataAccessException;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.stereotype.Controller;
......@@ -31,39 +31,43 @@ public class UserController {
public ModelAndView getLoginPage() {
ModelAndView mav = new ModelAndView("users/login");
mav.addObject("user", new NewUser( "", "", ""));
mav.addObject("error", "");
mav.addObject("status", "");
System.out.println(userRepository.findUserByName("Admin").getName());
return mav;
}
@GetMapping("/logout")
public ModelAndView getLogOutPage(){
ModelAndView mav = new ModelAndView("users/logout");
return mav;
}
// @GetMapping("/logout")
// public ModelAndView getLogOutPage(){
// ModelAndView mav = new ModelAndView("users/logout");
// return mav;
// }
@PostMapping("/login/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
mav.addObject("status", "active");
if (bindingResult.hasErrors()) {
ModelAndView modelAndView = new ModelAndView("users/login");
modelAndView.addObject("errors", bindingResult);
return modelAndView;
}
System.out.println(user.getName());
System.out.println(user.getPassword());
if ( userRepository.doesUserExist(user.getEmail()) ) {
//TODO return modelandview for user already exists
System.out.println(user.getEmail() + " already exists");
mav.addObject("errors", "Email already in use");
return mav;
} else {
}
try {
userRepository.addUser(user.name, user.email, user.password);
System.out.println(user.getEmail() + " created");
mav.addObject("error", "");
//TODO return user creation success
return mav;
} catch (DataAccessException e) {
mav.addObject("error", "User exists");
}
return mav;
}
@GetMapping("/userProfile")
......@@ -73,7 +77,6 @@ public class UserController {
mav.addObject("packs", allPacks);
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
System.out.println(user.getUsername());
mav.addObject("user", userRepository.findUserByName("Admin"));
mav.addAllObjects(getPackInfo("Admin", 1).getModelMap());
return mav;
......
//Implements the users repository using JDBC
package Team5.SmartTowns.users;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.object.SqlQuery;
......@@ -59,7 +60,7 @@ public class UserRepositoryJDBC implements UserRepository{
}
@Override
public boolean addUser(String username, String email, String password){
public boolean addUser(String username, String email, String password) throws DataAccessException{
/* Adds new user to the database */
String query = "INSERT INTO users (username, email, password) VALUES (?, ?, ?);";
String query2= "INSERT INTO authorities (username, authority) VALUES (?,?);";
......
......@@ -11,15 +11,20 @@
<body>
<header>
<form name="logoutForm" th:action="@{/logout}" method="post" th:hidden="false">
<input hidden type="submit" value="Sign Out"/>
<button type="submit">CLICK ME OT LOG OUT</button>
</form>
</header>
<main>
<!--CODE MODIFIED FROM: https://github.com/AsmrProg-YT/Modern-Login -->
<div class="container sign-in">
<div class="container" id="container">
<div class="container" th:classappend="${status}" id="container">
<div class="form-container sign-up">
<form th:object="${user}" action="#" th:action="@{/login/register}" th:method="POST" onsubmit="return registerFormValidation()">
<h1>Create Account</h1>
<div th:if="${error.equals('User exists')}" class="alert alert-error">User already exist</div>
<label>
<input class="input" th:field="*{name}" id="register-username" type="text" placeholder="Name">
</label>
......@@ -36,7 +41,6 @@
<form name="f" th:action="@{/login}" th:method="POST">
<h1>Sign In</h1>
<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>
<label>
<input class="input" id="username" type="text" name="username" placeholder="Email">
</label>
......@@ -55,8 +59,9 @@
<button class="hidden" id="login">Sign In</button>
</div>
<div class="toggle-panel toggle-right">
<h1>Hello, Welcome!</h1>
<p>Register with your personal details and start earning stickers!</p>
<div th:if="${param.logout}" class="alert alert-success">Successfully Logged out</div>
<h1 th:if="!${param.logout}">Hello, Welcome!</h1>
<p th:if="!${param.logout}">Register with your personal details and start earning stickers!</p>
<button class="hidden" id="register">Sign Up</button>
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment