Merge branch 'marvin'

This commit is contained in:
Parpaillax
2024-04-30 16:53:38 +02:00
6 changed files with 2744 additions and 24 deletions

View File

@@ -16,10 +16,7 @@ import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -30,6 +27,7 @@ import java.util.Locale;
@Controller
@SessionAttributes({"searchTitle", "searchCategory", "venteOptions", "achatOptions", "typeTransaction"})
public class AccueilController {
private static final Logger logger = LoggerFactory.getLogger(AccueilController.class);
@@ -45,12 +43,15 @@ public class AccueilController {
this.userService = userService;
}
@GetMapping({"/", "/enchere"})
public String viewAccueil(HttpServletRequest request, @AuthenticationPrincipal UserDetails userDetails,
@RequestParam(required = false) String searchTitle, @RequestParam(required = false) Integer searchCategory,
@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "6") int size, Model model,
@RequestParam(value = "venteOption", required = false) String[] venteOptions,
@RequestParam(value = "achatOption", required = false) String[] achatOptions) {
@RequestParam(value = "achatOption", required = false) String[] achatOptions,
@RequestParam(required = false) String typeTransaction) {
logger.error("test du logger");
model.addAttribute("categories", categorieService.findAllCategories());
model.addAttribute("requestURI", request.getRequestURI());
SearchArticleCritere critere = new SearchArticleCritere();
@@ -62,7 +63,6 @@ public class AccueilController {
critere.setVenteOptions(venteOptions);
critere.setAchatOptions(achatOptions);
// Si la page est 1 ou plus, décrémentez la valeur de la page de 1
if (page > 0) {
page -= 1;
}
@@ -71,20 +71,27 @@ public class AccueilController {
Page<Article> articlePage = articleService.searchArticlePageable(critere, PageRequest.of(page, size));
model.addAttribute("articles", articlePage.getContent());
// Ajoutez 1 à la valeur de la page actuelle pour l'affichage dans la vue
int currentPage = page + 1;
model.addAttribute("currentPage", currentPage);
model.addAttribute("critere", critere);
model.addAttribute("totalPages", articlePage.getTotalPages());
return "accueil";
}
@PostMapping("/enchere")
public String handleSearch(HttpServletRequest request, @AuthenticationPrincipal UserDetails userDetails, @RequestParam(required = false) String searchTitle, @RequestParam(required = false) Integer searchCategory, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "6") int size, Model model, @RequestParam(value = "venteOption", required = false) String[] venteOptions, @RequestParam(value = "achatOption", required = false) String[] achatOptions) {
public String handleSearch(HttpServletRequest request, @AuthenticationPrincipal UserDetails userDetails, @RequestParam(required = false) String searchTitle, @RequestParam(required = false) Integer searchCategory, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "6") int size, Model model, @RequestParam(value = "venteOption", required = false) String[] venteOptions, @RequestParam(value = "achatOption", required = false) String[] achatOptions, @RequestParam(required = false) String typeTransaction) {
// Mettre à jour la catégorie dans la session
model.addAttribute("searchCategory", searchCategory);
return viewAccueil(request, userDetails, searchTitle, searchCategory, page, size, model, venteOptions, achatOptions);
model.addAttribute("searchTitle", searchTitle);
model.addAttribute("venteOptions", venteOptions);
model.addAttribute("achatOptions", achatOptions);
model.addAttribute("typeTransaction", typeTransaction);
return viewAccueil(request, userDetails, searchTitle, searchCategory, page, size, model, venteOptions, achatOptions, typeTransaction);
}