TP11
Publié : 15 janv. 2020 20:42
Bonjour,
J'ai un souci avec la classe ShoppingCartCheckoutController et la page checkout.html.
Mon contrôleur ne lève pas d'exception, mais lorsque l'on clique sur valider, "le panier est vide" s'affiche, et la commande n'est pas enregistrée dans la BD non plus. Je ne sais pas si je récupère bien l'username et le shoppingCart et je ne suis pas sûre de mon thymeleaf, je tourne en boucle sur ce problème.
Le code du contrôleur :
checkout :
Si vous voyez où sont mes erreurs ? Merci d'avance
J'ai un souci avec la classe ShoppingCartCheckoutController et la page checkout.html.
Mon contrôleur ne lève pas d'exception, mais lorsque l'on clique sur valider, "le panier est vide" s'affiche, et la commande n'est pas enregistrée dans la BD non plus. Je ne sais pas si je récupère bien l'username et le shoppingCart et je ne suis pas sûre de mon thymeleaf, je tourne en boucle sur ce problème.
Le code du contrôleur :
Code : Tout sélectionner
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
String userId = userDetails.getUsername();
UserDTO userDTO = null;
try {
userDTO = userService.findUser(userId);
} catch (FinderException | CheckException e) {
Trace.throwing(getCname(), mname, e);
model.addAttribute("exception", e.getClass().getName());
}
String username = userDTO.getUsername();
Map<String, Integer> shoppingCart = shoppingCartService.getCart();
try {
Long orderId = orderService.createOrder(username, shoppingCart);
model.addAttribute("cart", orderId);
//Empty the shoppingCart
shoppingCartService.empty();
} catch (CreateException | CheckException e2) {
Trace.throwing(getCname(), mname, e2);
model.addAttribute("exception", e2.getClass().getName());
}
Code : Tout sélectionner
<div sec:authorize="isAuthenticated()">
<li th:if="${orderId != null}" sec:authorize="hasAnyRole('USER','FRANCHISEE')">
<h3 th:text="#{order.complete}"></h3>
<span th:text="#{order.id}"></span>
<span th:text="#{Thanks.for.shopping}">
</li>
</div>