diff --git a/pom.xml b/pom.xml index 010f220e326b0866e9779c8b9498d6757cebae06..1b62aa647ed626488e12055fc6d7efa1e6a345b1 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.3</version> - <relativePath/> <!-- lookup parent from repository --> + <relativePath/> </parent> <groupId>fr.but.infoetu</groupId> <artifactId>meetingplannr</artifactId> diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/MeetingPlannrApplication.java b/src/main/java/fr/but/infoetu/meetingplannr/MeetingPlannrApplication.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/MeetingPlannrApplication.java rename to src/main/java/fr/but/infoetu/meetingplannr/MeetingPlannrApplication.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/config/Config.java b/src/main/java/fr/but/infoetu/meetingplannr/config/Config.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/config/Config.java rename to src/main/java/fr/but/infoetu/meetingplannr/config/Config.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/config/WebConfig.java b/src/main/java/fr/but/infoetu/meetingplannr/config/WebConfig.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/config/WebConfig.java rename to src/main/java/fr/but/infoetu/meetingplannr/config/WebConfig.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/controller/AdminController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/AdminController.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/controller/AdminController.java rename to src/main/java/fr/but/infoetu/meetingplannr/controller/AdminController.java diff --git a/src/main/java/fr/but/infoetu/meetingplannr/controller/ImageController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/ImageController.java new file mode 100644 index 0000000000000000000000000000000000000000..6977645018e0323693f5a7283ec277dcb527db91 --- /dev/null +++ b/src/main/java/fr/but/infoetu/meetingplannr/controller/ImageController.java @@ -0,0 +1,40 @@ +package fr.but.infoetu.meetingplannr.controller; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/images") +public class ImageController { + + private final String UPLOAD_DIR = "src/main/resources/static/uploads/"; + + @GetMapping("/{filename}") + public ResponseEntity<byte[]> getImage(@PathVariable String filename) { + try { + Path imagePath = Paths.get(UPLOAD_DIR, filename); + byte[] imageBytes = Files.readAllBytes(imagePath); + + String mimeType = Files.probeContentType(imagePath); + + return ResponseEntity.ok() + .header(HttpHeaders.CONTENT_DISPOSITION, "inline;filename=\"" + filename + "\"") + .contentType(MediaType.parseMediaType(mimeType)) + .body(imageBytes); + + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); + } + } +} + diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/controller/MeetingRestController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/controller/MeetingRestController.java rename to src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/controller/PublicController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/PublicController.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/controller/PublicController.java rename to src/main/java/fr/but/infoetu/meetingplannr/controller/PublicController.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/controller/UserController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/UserController.java similarity index 99% rename from src/main/java/fr/but/infoetu/MeetingPlannr/controller/UserController.java rename to src/main/java/fr/but/infoetu/meetingplannr/controller/UserController.java index 5ad54b0969eace0bb8e521d458592316f85b385b..e311c60c4a91604889ea4632abf512b7e05f0baa 100644 --- a/src/main/java/fr/but/infoetu/MeetingPlannr/controller/UserController.java +++ b/src/main/java/fr/but/infoetu/meetingplannr/controller/UserController.java @@ -31,6 +31,7 @@ import fr.but.infoetu.meetingplannr.repository.MeetingRepository; import fr.but.infoetu.meetingplannr.repository.RequestRepository; import fr.but.infoetu.meetingplannr.repository.UserRepository; import fr.but.infoetu.meetingplannr.service.UserService; +import jakarta.servlet.ServletContext; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; @@ -62,8 +63,8 @@ public class UserController { if (details == null) { return "redirect:/public/login"; } + System.out.println(details); User user = ur.findByUsername(details.getUsername()).get(); - System.out.println(user); model.addAttribute("currentUser", user); return "user/profile"; } diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java b/src/main/java/fr/but/infoetu/meetingplannr/pojo/Meeting.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java rename to src/main/java/fr/but/infoetu/meetingplannr/pojo/Meeting.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java b/src/main/java/fr/but/infoetu/meetingplannr/pojo/Request.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java rename to src/main/java/fr/but/infoetu/meetingplannr/pojo/Request.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java b/src/main/java/fr/but/infoetu/meetingplannr/pojo/User.java similarity index 97% rename from src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java rename to src/main/java/fr/but/infoetu/meetingplannr/pojo/User.java index 403f8fade06b4b0c86228842fe0c966a005725c8..3778918e56b29bb963e8fb35e18b007a542d59d0 100644 --- a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java +++ b/src/main/java/fr/but/infoetu/meetingplannr/pojo/User.java @@ -78,7 +78,7 @@ public class User implements UserDetails { private String photoPath; public String getPhotoUrl() { - return photoPath != null ? "/uploads/" + photoPath : "/uploads/avatar.png"; + return photoPath != null ? "/images/" + photoPath : "/images/avatar.png"; } @Override diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java b/src/main/java/fr/but/infoetu/meetingplannr/repository/MeetingRepository.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java rename to src/main/java/fr/but/infoetu/meetingplannr/repository/MeetingRepository.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java b/src/main/java/fr/but/infoetu/meetingplannr/repository/RequestRepository.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java rename to src/main/java/fr/but/infoetu/meetingplannr/repository/RequestRepository.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java b/src/main/java/fr/but/infoetu/meetingplannr/repository/UserRepository.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java rename to src/main/java/fr/but/infoetu/meetingplannr/repository/UserRepository.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/security/Security.java b/src/main/java/fr/but/infoetu/meetingplannr/security/Security.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/security/Security.java rename to src/main/java/fr/but/infoetu/meetingplannr/security/Security.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/service/RequestService.java b/src/main/java/fr/but/infoetu/meetingplannr/service/RequestService.java similarity index 100% rename from src/main/java/fr/but/infoetu/MeetingPlannr/service/RequestService.java rename to src/main/java/fr/but/infoetu/meetingplannr/service/RequestService.java diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/service/UserService.java b/src/main/java/fr/but/infoetu/meetingplannr/service/UserService.java similarity index 96% rename from src/main/java/fr/but/infoetu/MeetingPlannr/service/UserService.java rename to src/main/java/fr/but/infoetu/meetingplannr/service/UserService.java index f847c54374dfce50e1be7e449df4ce2583b1c35c..3061da22933d4990771c322965a33865a230094e 100644 --- a/src/main/java/fr/but/infoetu/MeetingPlannr/service/UserService.java +++ b/src/main/java/fr/but/infoetu/meetingplannr/service/UserService.java @@ -46,7 +46,8 @@ public class UserService { helper.setFrom("paul.cancel.etu@univ-lille.fr"); helper.setTo(user.getUsername()); helper.setSubject("Compte banni"); - helper.setText("Votre compte : " + user.getUsername() + " a été banni le " + java.time.LocalDate.now()); + helper.setText("Votre compte : " + user.getUsername() + " a été banni le " + java.time.LocalDate.now() + "\n" + + "Vous ne pourrez plus vous connecter à MeetingPlannr à partir de maintenant."); sender.send(message); } catch (jakarta.mail.MessagingException e) { throw new RuntimeException("Erreur lors de l'envoi de l'email", e); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e884b3e0e0b996d0ae11129bbdb7724154c12f42..9ee5f9e83ee910d22d47020d35e617918035f69a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -3,9 +3,13 @@ spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp spring.datasource.driverClassName=org.postgresql.Driver -spring.datasource.url=jdbc:postgresql://localhost:5432/but3 -spring.datasource.username=postgres -spring.datasource.password=admin +# spring.datasource.url=jdbc:postgresql://localhost:5432/but3 +# spring.datasource.username=postgres +# spring.datasource.password=admin +spring.datasource.url=jdbc:postgresql://psqlserv/but3 +spring.datasource.username=paulcanceletu +spring.datasource.password=moi + spring.jpa.hibernate.ddl-auto=create-drop diff --git a/src/test/java/fr/but/infoetu/MeetingPlannr/MeetingPlannrApplicationTests.java b/src/test/java/fr/but/infoetu/meetingplannr/MeetingPlannrApplicationTests.java similarity index 100% rename from src/test/java/fr/but/infoetu/MeetingPlannr/MeetingPlannrApplicationTests.java rename to src/test/java/fr/but/infoetu/meetingplannr/MeetingPlannrApplicationTests.java