Renice error handling
This commit is contained in:
		@ -8,6 +8,8 @@ import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.ui.Model;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
import javax.servlet.http.HttpSession;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
@ -59,7 +61,9 @@ public class ShopArticleController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/{id}")
 | 
			
		||||
    public String shopArticlesByIdBuy(HttpSession session,
 | 
			
		||||
    public String shopArticlesByIdBuy(HttpServletRequest request,
 | 
			
		||||
                                      HttpServletResponse response,
 | 
			
		||||
                                      HttpSession session,
 | 
			
		||||
                                      @RequestAttribute(value = "shoppingCart") ShoppingCart shoppingCart,
 | 
			
		||||
                                      @PathVariable("id") Long id,
 | 
			
		||||
                                      @RequestParam("quantity") Integer quantity,
 | 
			
		||||
@ -69,7 +73,9 @@ public class ShopArticleController {
 | 
			
		||||
 | 
			
		||||
        Optional<Article> article = articleRepository.findById(id);
 | 
			
		||||
        if (!article.isPresent()) {
 | 
			
		||||
            throw new RuntimeException("Article not found!");
 | 
			
		||||
            request.setAttribute("error", "Der Artikel wurde nicht gefunden.");
 | 
			
		||||
            response.setStatus(HttpServletResponse.SC_NOT_FOUND);
 | 
			
		||||
            return "error/404";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (setAmount != null && setAmount) {
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
import javax.servlet.http.HttpSession;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.TreeMap;
 | 
			
		||||
@ -97,6 +98,8 @@ public class ShopCheckoutController {
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/checkoutFinish")
 | 
			
		||||
    public String shopCheckoutFinish(
 | 
			
		||||
            HttpServletRequest request,
 | 
			
		||||
            HttpServletResponse response,
 | 
			
		||||
            @RequestAttribute(value = "user") User user,
 | 
			
		||||
            @RequestAttribute(value = "shoppingCart") ShoppingCart shoppingCart,
 | 
			
		||||
            @RequestParam("address") String address,
 | 
			
		||||
@ -105,6 +108,12 @@ public class ShopCheckoutController {
 | 
			
		||||
            @RequestParam("expected_total") Integer expectedPrice
 | 
			
		||||
    ) {
 | 
			
		||||
 | 
			
		||||
        if (shoppingCart.getRevision() != cartRevision) {
 | 
			
		||||
            request.setAttribute("error", "Der Warenkorb wurde zwischenzeitlich bearbeitet. Daher die Kaufvorgang nicht abgeschlossen werden. Bitte versuchen Sie es erneut.");
 | 
			
		||||
            response.setStatus(HttpServletResponse.SC_CONFLICT);
 | 
			
		||||
            return "shop/checkout";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Must be refetched for persitence.
 | 
			
		||||
        user = userRepository.findById(user.id).get();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user