pagination
This commit is contained in:
@@ -8,6 +8,7 @@ import fr.eni.enchere.bo.Article;
|
||||
import fr.eni.enchere.bo.SearchArticleCritere;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -17,6 +18,7 @@ import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.support.SessionStatus;
|
||||
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
@@ -27,7 +29,6 @@ import java.util.Locale;
|
||||
|
||||
|
||||
@Controller
|
||||
@SessionAttributes({"searchTitle", "searchCategory", "venteOptions", "achatOptions", "typeTransaction"})
|
||||
public class AccueilController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AccueilController.class);
|
||||
@@ -35,7 +36,6 @@ public class AccueilController {
|
||||
private CategorieService categorieService;
|
||||
private UserService userService;
|
||||
|
||||
|
||||
public AccueilController(ArticleService articleService, CategorieService categorieService, UserService userService) {
|
||||
super();
|
||||
this.categorieService = categorieService;
|
||||
@@ -43,21 +43,27 @@ 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(required = false) String typeTransaction) {
|
||||
HttpSession session) {
|
||||
logger.error("test du logger");
|
||||
model.addAttribute("categories", categorieService.findAllCategories());
|
||||
model.addAttribute("requestURI", request.getRequestURI());
|
||||
|
||||
// Récupérer les critères de recherche de la session
|
||||
String searchTitle = (String) session.getAttribute("searchTitle");
|
||||
Integer searchCategory = (Integer) session.getAttribute("searchCategory");
|
||||
String[] venteOptions = (String[]) session.getAttribute("venteOptions");
|
||||
String[] achatOptions = (String[]) session.getAttribute("achatOptions");
|
||||
String typeTransaction = (String) session.getAttribute("typeTransaction");
|
||||
model.addAttribute("SessionTypeTransaction", typeTransaction);
|
||||
model.addAttribute("sessionVenteOptions", venteOptions);
|
||||
model.addAttribute("sessionAchatOptions", achatOptions);
|
||||
|
||||
// Utiliser les valeurs des critères de recherche dans votre logique métier
|
||||
SearchArticleCritere critere = new SearchArticleCritere();
|
||||
critere.setNoCategorie(searchCategory);
|
||||
critere.setTitle(searchTitle);
|
||||
if(userDetails != null) {
|
||||
if (userDetails != null) {
|
||||
critere.setNoVendeur(userService.utilisateurByName(userDetails.getUsername()).getId());
|
||||
}
|
||||
critere.setVenteOptions(venteOptions);
|
||||
@@ -75,24 +81,28 @@ public class AccueilController {
|
||||
model.addAttribute("currentPage", currentPage);
|
||||
model.addAttribute("critere", critere);
|
||||
model.addAttribute("totalPages", articlePage.getTotalPages());
|
||||
model.addAttribute("categories", categorieService.findAllCategories());
|
||||
model.addAttribute("requestURI", request.getRequestURI());
|
||||
|
||||
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, @RequestParam(required = false) String typeTransaction) {
|
||||
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, HttpSession session) {
|
||||
|
||||
// Mettre à jour la catégorie dans la session
|
||||
model.addAttribute("searchCategory", searchCategory);
|
||||
// Mettre à jour les critères de recherche dans la session
|
||||
session.setAttribute("searchCategory", searchCategory);
|
||||
session.setAttribute("searchTitle", searchTitle);
|
||||
session.setAttribute("venteOptions", venteOptions);
|
||||
session.setAttribute("achatOptions", achatOptions);
|
||||
session.setAttribute("typeTransaction", typeTransaction);
|
||||
|
||||
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);
|
||||
// Rediriger vers la page d'accueil
|
||||
return "redirect:/enchere";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user