From b25a9842e45bd55eca8171f4ad7a1c2a1117787d Mon Sep 17 00:00:00 2001 From: CodeSteak Date: Sun, 26 Jan 2020 13:47:54 +0100 Subject: [PATCH] fix flow for loggedout checkout --- .../hso/ecommerce/app/RequestController.java | 19 +++++++++++++++---- .../src/main/resources/templates/login.html | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java b/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java index 66a8b01..9bb20fd 100644 --- a/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java +++ b/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java @@ -29,9 +29,16 @@ public class RequestController { } @PostMapping("/login") - public String loginPost(HttpServletResponse response) { + public String loginPost(HttpServletResponse response, @RequestParam(value = "goto", required = false) String gto) { response.addCookie(new Cookie("login", "true")); - return "redirect:/"; + + System.out.println(gto); + + if (gto != null && gto.startsWith("/")) { + return "redirect:" + gto; + } else { + return "redirect:/"; + } } @PostMapping("/logout") @@ -75,8 +82,12 @@ public class RequestController { } @PostMapping("/shop/articles/{id}") - public String shopArticlesByIdBuy() { - return "redirect:/shop/checkout"; + public String shopArticlesByIdBuy(@RequestAttribute("customer") Boolean isCustomer, @PathVariable("id") Integer id) { + if (isCustomer) { + return "redirect:/shop/checkout"; + } else { + return "redirect:/login?goto=%2Fshop%2Farticles%2F"+id; + } } @GetMapping("/user/") diff --git a/prototype/src/main/resources/templates/login.html b/prototype/src/main/resources/templates/login.html index 8f24c21..eef267f 100644 --- a/prototype/src/main/resources/templates/login.html +++ b/prototype/src/main/resources/templates/login.html @@ -10,7 +10,7 @@
-
+