Merge pull request #32 from atusa17/PAN-53

Pan 53
This commit is contained in:
Brittany
2019-05-01 21:55:55 -06:00
committed by GitHub
7 changed files with 125 additions and 2 deletions
+1
View File
@@ -99,6 +99,7 @@ repositories {
} }
dependencies { dependencies {
compile project(':services')
compile group: 'org.jacoco', name: 'org.jacoco.core', version: '0.8.3' compile group: 'org.jacoco', name: 'org.jacoco.core', version: '0.8.3'
compile 'org.codehaus.groovy:groovy-all:2.3.11' compile 'org.codehaus.groovy:groovy-all:2.3.11'
compile 'org.apache.commons:commons-lang3:3.5' compile 'org.apache.commons:commons-lang3:3.5'
@@ -2,11 +2,17 @@ package edu.msudenver.tsp.website;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication @SpringBootApplication
@ComponentScan("edu.msudenver.tsp")
public class Application { public class Application {
public static void main(final String[] args) {
public static void main(String[] args) {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);
} }
} }
@@ -0,0 +1,52 @@
package edu.msudenver.tsp.website.controller;
import edu.msudenver.tsp.services.UserService;
import edu.msudenver.tsp.services.dto.Account;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import java.util.Optional;
@Slf4j
@Controller
@AllArgsConstructor
@RequestMapping("/login")
public class LogInController {
@Autowired
private final UserService userService;
@GetMapping({"/", ""})
public ModelAndView enterLogInPage() {
LOG.info("Received request to display the log in page: returning model with name 'LogIn'");
return new ModelAndView("LogIn");
}
@PostMapping({"/", ""})
public String singIn(Model model, @RequestParam("username") String username, @RequestParam("password") String password) {
Optional<Account> findUserByUsername = userService.findAccountByUsername(username);
if(findUserByUsername.isPresent()){
if (password.equals(findUserByUsername.get().getPassword())) {
model.addAttribute("username", username);
model.addAttribute("password", password);
return "index";
}
else {
model.addAttribute("error", "your username and password is invalid");
return "LogIn";
}
}
else {
model.addAttribute("error", "username and password can not be empty");
return "LogIn";
}
}
}
+5 -1
View File
@@ -1,2 +1,6 @@
spring.mvc.view.prefix:/WEB-INF/jsp/ spring.mvc.view.prefix:/WEB-INF/jsp/
spring.mvc.view.suffix:.jsp spring.mvc.view.suffix:.jsp
persistence.api.connection.timeout.milliseconds=5000
persistence.api.socket.timeout.milliseconds=10000
persistence.api.base.url=http://localhost:8090/
+35
View File
@@ -0,0 +1,35 @@
<%--
Created by IntelliJ IDEA.
User: tianliu
Date: 2019-04-24
Time: 16:25
To change this template use File | Settings | File Templates.
--%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<c:set var="contextPath" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Log in with your account</title>
</head>
<body>
<div class="container">
<form method="post" action="">
<h2 class="form-heading">Log in</h2>
<div>
<input name="username" type="text" class="form-control" placeholder="Username"/><br>
<input name="password" type="password" class="form-control" placeholder="Password"/><br>
<span style="Color: red">${error}</span><br>
<input type="hidden" name="${parameterName}" value="${token}"/>
<button class="btn btn-lg btn-primary btn-block" type="submit">Log In</button>
<h4 class="text-center"><a href="/registration">Create an account</a></h4>
</div>
</form>
</div>
</body>
</html>
+1
View File
@@ -21,6 +21,7 @@
<h2>Hello! Welcome to Pandamonium™ Theorem Prover!!</h2> <h2>Hello! Welcome to Pandamonium™ Theorem Prover!!</h2>
Click on this <strong><a href="/theorem/">link</a></strong> to visit theorem entering page. Click on this <strong><a href="/theorem/">link</a></strong> to visit theorem entering page.
<h4 class="text-center"><a href="/login">Sign In</a></h4>
</div> </div>
</div> </div>
</body> </body>
@@ -0,0 +1,24 @@
package edu.msudenver.tsp.website.controller;
import edu.msudenver.tsp.services.UserService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.ModelAndView;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class LogInControllerTest {
@Autowired UserService userService;
private final LogInController logInController = new LogInController(userService);
@Test
public void testEnterTheoremPage() {
ModelAndView modelAndView = logInController.enterLogInPage();
assertNotNull(modelAndView);
assertEquals("LogIn", modelAndView.getViewName());
}
}