From be8363105385ecb9d7159b6857eb8d8fb3e30edc Mon Sep 17 00:00:00 2001 From: jleroy Date: Wed, 24 Apr 2024 14:58:28 +0200 Subject: [PATCH] Ajout article v3 --- src/main/java/fr/eni/enchere/bo/Article.java | 16 ++++++---- .../controllers/ArticleController.java | 32 ++++++++++++++++--- .../enchere/security/WebSecurityConfig.java | 2 +- src/main/resources/templates/newArticle.html | 24 +++++++------- 4 files changed, 49 insertions(+), 25 deletions(-) diff --git a/src/main/java/fr/eni/enchere/bo/Article.java b/src/main/java/fr/eni/enchere/bo/Article.java index 20ffac3..ca514d5 100644 --- a/src/main/java/fr/eni/enchere/bo/Article.java +++ b/src/main/java/fr/eni/enchere/bo/Article.java @@ -1,5 +1,7 @@ package fr.eni.enchere.bo; +import org.springframework.web.multipart.MultipartFile; + import java.util.Date; public class Article { @@ -7,18 +9,18 @@ public class Article { int id; String nom; String desc; - String photo; + MultipartFile photo; Date dateDebutEnch; Date dateFinEnch; float prixInitial; float prixVente; - UserProfil Utilisateur; + int Utilisateur; int numCategorie; public Article() { } - public Article(int id, String nom, String desc, String photo, Date dateDebutEnch, Date dateFinEnch, float prixInitial, float prixVente, UserProfil Utilisateur, int numCategorie) { + public Article(int id, String nom, String desc, MultipartFile photo, Date dateDebutEnch, Date dateFinEnch, float prixInitial, float prixVente, int Utilisateur, int numCategorie) { setId(id); setNom(nom); setDesc(desc); @@ -55,11 +57,11 @@ public class Article { this.desc = desc; } - public String getPhoto() { + public MultipartFile getPhoto() { return photo; } - public void setPhoto(String photo) { + public void setPhoto(MultipartFile photo) { this.photo = photo; } @@ -95,11 +97,11 @@ public class Article { this.prixVente = prixVente; } - public UserProfil getUtilisateur() { + public int getUtilisateur() { return Utilisateur; } - public void setUtilisateur(UserProfil Utilisateur) { + public void setUtilisateur(int Utilisateur) { this.Utilisateur = Utilisateur; } diff --git a/src/main/java/fr/eni/enchere/controllers/ArticleController.java b/src/main/java/fr/eni/enchere/controllers/ArticleController.java index 81300e5..24e2640 100644 --- a/src/main/java/fr/eni/enchere/controllers/ArticleController.java +++ b/src/main/java/fr/eni/enchere/controllers/ArticleController.java @@ -8,9 +8,15 @@ import fr.eni.enchere.bo.Article; import fr.eni.enchere.bo.Retrait; import fr.eni.enchere.bo.UserProfil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.text.SimpleDateFormat; +import java.util.Date; @Controller() @RequestMapping("/article") @@ -31,7 +37,7 @@ public class ArticleController { @GetMapping public String viewArticle(Model model) { - return "accueil"; + return "redirect:/accueil"; } //Affichage d'un article @@ -60,15 +66,31 @@ public class ArticleController { } @PostMapping("/new") - public String newArticle(@RequestParam("article") Article article, @RequestParam("retrait") Retrait retrait) { - //Récupérer l'utilisateur pour set - System.out.println(article.getNumCategorie()); + public String newArticle(@ModelAttribute("article") Article article, + @RequestParam("rue") String rue, + @RequestParam("code_postal") String code_postal, + @RequestParam("ville") String ville, + @RequestParam("dateDebut") String dateDebut, + @RequestParam("dateFin") String datefin) { + //Récupérer l'utilisateur pour set l'article + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + String username = authentication.getName(); + UserProfil userProfile = userService.utilisateurByName(username); + article.setUtilisateur(userProfile.getId()); + //Récupérer le lieu de retrait + Retrait retrait = new Retrait(); + retrait.setRue(rue); + retrait.setCode_postale(code_postal); + retrait.setVille(ville); + //Reste de l'article + Date dDateDebut = new SimpleDateFormat(dateDebut); + article.setDateDebutEnch(); if (article.getId() == 0){ //Création d'un article + } else { //Mise à jour d'un article } - //articleService.saveArticle(article); return "redirect:/accueil"; } diff --git a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java index 507b63d..95f8d0e 100644 --- a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java +++ b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java @@ -17,7 +17,7 @@ public class WebSecurityConfig{ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests((requests) -> requests .requestMatchers("/", "/accueil").permitAll() - .requestMatchers("/accueil", "/login", "/inscription/**", "/searchArticle", "/article/**", "/change-language").permitAll() + .requestMatchers("/accueil", "/login", "/inscription/**", "/searchArticle", "/article/show", "/change-language").permitAll() .requestMatchers("/css/**", "/images/**", "/assets/**", "/img/**", "/js/**", "/assets/**").permitAll() .requestMatchers("/profil/**", "/article/new/**", "/article/update", "/article/delete").authenticated() .requestMatchers("/admin").hasRole("ADMIN") diff --git a/src/main/resources/templates/newArticle.html b/src/main/resources/templates/newArticle.html index 2e6e11d..dd6dc5f 100644 --- a/src/main/resources/templates/newArticle.html +++ b/src/main/resources/templates/newArticle.html @@ -1,28 +1,28 @@ - +

Nouvelle vente

-
+
- +
- +
- @@ -31,40 +31,40 @@
- +
- +
- +
- +

Retrait

- +
- +
- +