PAN-54 Created user registration page.

This commit is contained in:
BrittanyBi
2019-03-24 15:37:39 -06:00
parent de5a69d619
commit 0fc825e11b
4 changed files with 123 additions and 0 deletions
@@ -0,0 +1,40 @@
package edu.msudenver.tsp.website.controller;
import edu.msudenver.tsp.website.forms.UserCreationForm;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Slf4j
@Controller
@AllArgsConstructor
@RequestMapping("/createuser")
public class UserCreationController {
@GetMapping({"/",""})
public ModelAndView createUserPage() {
LOG.info("Received request to display the user creation page: returning model with name 'User'");
return new ModelAndView("User");
}
@PostMapping({"/",""})
public String registerUser(@Validated final UserCreationForm userCreationForm, final Model model) {
model.addAttribute("userID", userCreationForm.getUserID());
model.addAttribute("username", userCreationForm.getUsername());
model.addAttribute("password", userCreationForm.getPassword());
model.addAttribute("emailAddress", userCreationForm.getEmailAddress());
model.addAttribute("firstName", userCreationForm.getFirstName());
model.addAttribute("lastName", userCreationForm.getLastName());
model.addAttribute("referrer", userCreationForm.getReferrer());
model.addAttribute("TnCAgreement", userCreationForm.isAgreedToTerms());
LOG.info("Saving user {}...", userCreationForm);
return "success";
}
}
@@ -0,0 +1,18 @@
package edu.msudenver.tsp.website.forms;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class UserCreationForm {
private int userID;
private String username;
private String password;
private String confirmPassword;
private String emailAddress;
private String firstName;
private String lastName;
private String referrer; // optional
private boolean agreedToTerms;
}
+42
View File
@@ -0,0 +1,42 @@
<%@ page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Creation</title>
</head>
<body>
<form method="post" action="">
<label>Username:
<input type="text" name="username"/>
</label>
<br>
<label>Password:
<input type="text" name="password"/>
</label>
<br>
<label>Confirm Password:
<input type="text" name="confirmPassword"/>
</label>
<br>
<label>Email Address:
<input type="text" name="emailAddress"/>
</label>
<br>
<label>First Name:
<input type="text" name="firstName"/>
</label>
<br>
<label>Last Name:
<input type="text" name="lastName"/>
</label>
<br>
<label>I agree to the terms and conditions.
<input type="checkbox" name="agreedToTerms"/>
</label>
<br>
<input type="submit" value="Save">
</form>
</body>
</html>
@@ -0,0 +1,23 @@
package edu.msudenver.tsp.website.controller;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.web.servlet.ModelAndView;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@RunWith(MockitoJUnitRunner.class)
public class UserCreationControllerTest {
private final UserCreationController userCreationController = new UserCreationController();
@Test
public void testUserCreationPage() {
final ModelAndView modelAndView = userCreationController.createUserPage();
assertNotNull(modelAndView);
assertEquals("User", modelAndView.getViewName());
}
}