From 8c4bb721487e136aa8f4bbf7cf65e31f6309d270 Mon Sep 17 00:00:00 2001 From: BrittanyBi Date: Thu, 2 May 2019 12:11:03 -0600 Subject: [PATCH] PAN-54 For some reason it thinks I deleted these files??? --- .../website/controller/LogInController.java | 52 +++++++++++++++++++ src/main/webapp/WEB-INF/jsp/LogIn.jsp | 35 +++++++++++++ .../controller/LogInControllerTest.java | 24 +++++++++ 3 files changed, 111 insertions(+) create mode 100644 src/main/java/edu/msudenver/tsp/website/controller/LogInController.java create mode 100644 src/main/webapp/WEB-INF/jsp/LogIn.jsp create mode 100644 src/test/java/edu/msudenver/tsp/website/controller/LogInControllerTest.java diff --git a/src/main/java/edu/msudenver/tsp/website/controller/LogInController.java b/src/main/java/edu/msudenver/tsp/website/controller/LogInController.java new file mode 100644 index 0000000..556c8d5 --- /dev/null +++ b/src/main/java/edu/msudenver/tsp/website/controller/LogInController.java @@ -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 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"; + } + } +} \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/LogIn.jsp b/src/main/webapp/WEB-INF/jsp/LogIn.jsp new file mode 100644 index 0000000..2670147 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/LogIn.jsp @@ -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" %> + + + + + + + + Log in with your account + + +
+
+

Log in

+
+
+
+ ${error}
+ + +

Create an account

+
+
+
+ + \ No newline at end of file diff --git a/src/test/java/edu/msudenver/tsp/website/controller/LogInControllerTest.java b/src/test/java/edu/msudenver/tsp/website/controller/LogInControllerTest.java new file mode 100644 index 0000000..6012386 --- /dev/null +++ b/src/test/java/edu/msudenver/tsp/website/controller/LogInControllerTest.java @@ -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()); + + } +}