diff --git a/src/main/java/fr/eni/enchere/bll/UserService.java b/src/main/java/fr/eni/enchere/bll/UserService.java index 54b3110..ac9a9fb 100644 --- a/src/main/java/fr/eni/enchere/bll/UserService.java +++ b/src/main/java/fr/eni/enchere/bll/UserService.java @@ -12,4 +12,5 @@ public interface UserService { List listEmail(); void setUtilisateur(UserProfil utilisateur); void deleteUtilisateur(int id); + void disableUtilisateur(int id); } diff --git a/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java b/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java index 397facc..7bc026c 100644 --- a/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java +++ b/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java @@ -49,4 +49,9 @@ public class UserServiceImpl implements UserService { public void deleteUtilisateur(int id) { userRepository.delete(id); } + + @Override + public void disableUtilisateur(int id) { + userRepository.disable(id); + } } diff --git a/src/main/java/fr/eni/enchere/bo/UserProfil.java b/src/main/java/fr/eni/enchere/bo/UserProfil.java index 030c5a0..d6fd876 100644 --- a/src/main/java/fr/eni/enchere/bo/UserProfil.java +++ b/src/main/java/fr/eni/enchere/bo/UserProfil.java @@ -17,12 +17,13 @@ public class UserProfil { private String currentPassword; private String newPassword; private float credit; + private boolean isDisabled; private boolean isAdmin; //Constructeur public UserProfil(){} - public UserProfil(int id, String pseudo, String nom, String prenom, String email, String telephone, String rue, String code_postal, String ville, String password, String confirmPassword, String newPassword, String currentPassword, int credit, boolean isAdmin) { + public UserProfil(int id, String pseudo, String nom, String prenom, String email, String telephone, String rue, String code_postal, String ville, String password, String confirmPassword, String newPassword, String currentPassword, int credit, boolean isDisabled, boolean isAdmin) { setId(id); setPrenom(prenom); setNom(nom); @@ -35,6 +36,7 @@ public class UserProfil { setPassword(password); setConfirmPassword(confirmPassword); setCredit(credit); + setDisabled(isDisabled); setAdmin(isAdmin); setCurrentPassword(currentPassword); setNewPassword(newPassword); @@ -137,6 +139,14 @@ public class UserProfil { this.credit = credit; } + public boolean isDisabled() { + return isDisabled; + } + + public void setDisabled(boolean disabled) { + isDisabled = disabled; + } + public boolean isAdmin() { return isAdmin; } diff --git a/src/main/java/fr/eni/enchere/controllers/AdminController.java b/src/main/java/fr/eni/enchere/controllers/AdminController.java index 637f695..dd84ee1 100644 --- a/src/main/java/fr/eni/enchere/controllers/AdminController.java +++ b/src/main/java/fr/eni/enchere/controllers/AdminController.java @@ -1,5 +1,7 @@ package fr.eni.enchere.controllers; +import fr.eni.enchere.bll.CategorieService; +import fr.eni.enchere.bll.UserService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -7,11 +9,18 @@ import org.springframework.web.bind.annotation.GetMapping; @Controller public class AdminController { - public AdminController() { + private UserService userService; + private CategorieService categorieService; + + public AdminController(UserService userService, CategorieService categorieService) { + this.userService = userService; + this.categorieService = categorieService; } @GetMapping( "/admin") public String viewAdminPanel(Model model) { + model.addAttribute("categories", categorieService.findAllCategories()); + //model.addAttribute("userProfil", userService.f); return "admin"; } } diff --git a/src/main/java/fr/eni/enchere/dal/UserRepository.java b/src/main/java/fr/eni/enchere/dal/UserRepository.java index f0a0cda..3f67a6a 100644 --- a/src/main/java/fr/eni/enchere/dal/UserRepository.java +++ b/src/main/java/fr/eni/enchere/dal/UserRepository.java @@ -12,4 +12,5 @@ public interface UserRepository { List findAllEmail(); void save(UserProfil utilisateur); void delete(int id); + void disable(int id); } diff --git a/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java index 7bfc63e..b230052 100644 --- a/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java @@ -89,7 +89,8 @@ public class UserRepositoryImpl implements UserRepository { public void save(UserProfil utilisateur) { if (utilisateur.getId() == 0) { //Création utilisateur - String sql = "INSERT INTO UTILISATEURS (pseudo, nom, prenom, email, telephone, rue, code_postal, ville, mot_de_passe, credit, administrateur, isDelete) VALUES (:pseudo, :nom, :prenom, :email, :telephone, :rue, :code_postal, :ville, :mot_de_passe, 0, false, false)"; + String sql = "INSERT INTO UTILISATEURS (pseudo, nom, prenom, email, telephone, rue, code_postal, ville, mot_de_passe, credit, administrateur, isDisabled, isDelete) " + + "VALUES (:pseudo, :nom, :prenom, :email, :telephone, :rue, :code_postal, :ville, :mot_de_passe, 0, false, false, false)"; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("pseudo", utilisateur.getPseudo()); parameters.addValue("nom", utilisateur.getNom()); @@ -107,12 +108,14 @@ public class UserRepositoryImpl implements UserRepository { } }else { //Mettre à jour - String sql = "UPDATE UTILISATEURS SET pseudo = :pseudo, nom = :nom, prenom = :prenom, email = :email, telephone = :telephone, rue = :rue, code_postal = :code_postal, ville = :ville, mot_de_passe = :mot_de_passe WHERE no_utilisateur = :id"; + String sql; MapSqlParameterSource parameters = new MapSqlParameterSource(); if(utilisateur.getNewPassword().isEmpty()){ - sql = "UPDATE UTILISATEURS SET pseudo = :pseudo, nom = :nom, prenom = :prenom, email = :email, telephone = :telephone, rue = :rue, code_postal = :code_postal, ville = :ville WHERE no_utilisateur = :id"; + sql = "UPDATE UTILISATEURS SET pseudo = :pseudo, nom = :nom, prenom = :prenom, email = :email, telephone = :telephone, rue = :rue, code_postal = :code_postal, ville = :ville " + + "WHERE no_utilisateur = :id"; }else{ - sql = "UPDATE UTILISATEURS SET pseudo = :pseudo, nom = :nom, prenom = :prenom, email = :email, telephone = :telephone, rue = :rue, code_postal = :code_postal, ville = :ville, mot_de_passe = :mot_de_passe WHERE no_utilisateur = :id"; + sql = "UPDATE UTILISATEURS SET pseudo = :pseudo, nom = :nom, prenom = :prenom, email = :email, telephone = :telephone, rue = :rue, code_postal = :code_postal," + + " ville = :ville, mot_de_passe = :mot_de_passe WHERE no_utilisateur = :id"; parameters.addValue("mot_de_passe", passwordEncoder.encode(utilisateur.getNewPassword())); } parameters.addValue("pseudo", utilisateur.getPseudo()); @@ -134,4 +137,11 @@ public class UserRepositoryImpl implements UserRepository { String sql = "UPDATE UTILISATEURS SET isDelete = 1 WHERE no_utilisateur = ?"; jdbcTemplate.update(sql, id); } + + @Override + public void disable(int id) { + String sql = "UPDATE UTILISATEURS SET isDisabled = 1 WHERE no_utilisateur = ?"; + jdbcTemplate.update(sql, id); + } + } diff --git a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java index 49acdb4..4ba9131 100644 --- a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java +++ b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java @@ -35,7 +35,6 @@ public class WebSecurityConfig{ @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); - } }