diff --git a/data.mv.db b/data.mv.db index 0f4a573..f003431 100644 Binary files a/data.mv.db and b/data.mv.db differ diff --git a/src/main/java/com/LabWork/app/MangaStore/controller/Creator/CreatorActionMvcController.java b/src/main/java/com/LabWork/app/MangaStore/controller/Creator/CreatorActionMvcController.java index ce75af4..fc2fe96 100644 --- a/src/main/java/com/LabWork/app/MangaStore/controller/Creator/CreatorActionMvcController.java +++ b/src/main/java/com/LabWork/app/MangaStore/controller/Creator/CreatorActionMvcController.java @@ -37,58 +37,58 @@ public class CreatorActionMvcController { if(creatorId != null){ model.addAttribute("currentCreator", new CreatorMangaDto(creatorService.findCreator(creatorId))); } - model.addAttribute("creatorId", 0); + model.addAttribute("creatorId", creatorId); return "creatorAction"; } @GetMapping("/edit/{id}") - public String editManga(@PathVariable(required = false) Long id, Model model) { - model.addAttribute("mangaId", id); - model.addAttribute("MangaDto", new MangaDto(mangaService.findManga(id))); - model.addAttribute("creators", - creatorService.findAllCreators().stream() - .map(CreatorMangaDto::new) - .toList()); + public String editManga(@PathVariable Long id, Model model) { + model.addAttribute("Id", id); + model.addAttribute("mangaDto", new MangaDto(mangaService.findManga(id))); + model.addAttribute("controller", "manga/"); return "creatorAction-edit"; } - @GetMapping("/create") - public String createManga(@RequestParam(value = "creatorId", required = false) Long creatorId, Model model) { - model.addAttribute("creatorId", 0); - model.addAttribute("MangaDto", new MangaDto()); - model.addAttribute("creators", - creatorService.findAllCreators().stream() - .map(CreatorMangaDto::new) - .toList()); + @GetMapping("/create/{id}") + public String createManga(@PathVariable Long id, Model model) { + model.addAttribute("Id", id); + model.addAttribute("mangaDto", new MangaDto()); + model.addAttribute("controller", "creator/"); return "creatorAction-edit"; } - @PostMapping(value = {"/manga/", "/manga/{mangaId}"}) - public String saveManga(@PathVariable(value = "mangaId", required = false) Long mangaId, @RequestParam("image") MultipartFile multipartFile, - @RequestParam(value = "creatorId", required = false) Long creatorId, - @ModelAttribute @Valid MangaDto MangaDto, - BindingResult bindingResult, - Model model) throws IOException { -/* if (bindingResult.hasErrors()) { + @PostMapping( "/creator/{creatorId}") + public String saveManga(@PathVariable(value = "creatorId", required = false) Long creatorId, + @RequestParam("multipartFile") MultipartFile multipartFile, + @ModelAttribute @Valid MangaDto mangaDto, + BindingResult bindingResult, + Model model) throws IOException { + if (bindingResult.hasErrors()) { model.addAttribute("errors", bindingResult.getAllErrors()); return "creatorAction-edit"; - }*/ - MangaDto.setImage("data:image/jpeg;base64," + Base64.getEncoder().encodeToString(multipartFile.getBytes())); - log.info(MangaDto.getMangaName()); - MangaDto.setCreatorId(creatorId); - if (mangaId == null || mangaId <= 0) { - mangaService.addManga(MangaDto); - } else { - mangaService.updateManga(mangaId, MangaDto.getChapterCount(), MangaDto.getImage()); - } - if (creatorId != null){ - return "redirect:/creatorAction?creatorId=" + creatorId; - } else { - return "redirect:/creatorAction?creatorId=" + mangaService.findManga(mangaId).getCreatorId(); } + mangaDto.setImage("data:image/jpeg;base64," + Base64.getEncoder().encodeToString(multipartFile.getBytes())); + log.info(mangaDto.getMangaName()); + mangaDto.setCreatorId(creatorId); + mangaService.addManga(mangaDto); + return "redirect:/creatorAction?creatorId=" + creatorId; } + @PostMapping( "/manga/{mangaId}") + public String updateManga(@PathVariable(value = "mangaId", required = false) Long mangaId, @RequestParam("multipartFile") MultipartFile multipartFile, + @ModelAttribute @Valid MangaDto mangaDto, + BindingResult bindingResult, + Model model) throws IOException { + if (bindingResult.hasErrors()) { + model.addAttribute("errors", bindingResult.getAllErrors()); + return "creatorAction-edit"; + } + mangaDto.setImage("data:image/jpeg;base64," + Base64.getEncoder().encodeToString(multipartFile.getBytes())); + mangaService.updateManga(mangaId, mangaDto.getChapterCount(), mangaDto.getImage()); + return "redirect:/creatorAction?creatorId=" + mangaService.findManga(mangaId).getCreatorId(); + } + @PostMapping("/delete/{id}") public String deleteCreator(@PathVariable Long id) { Long creatorId = mangaService.findManga(id).getCreatorId(); diff --git a/src/main/java/com/LabWork/app/MangaStore/controller/Reader/ReaderActionMvcController.java b/src/main/java/com/LabWork/app/MangaStore/controller/Reader/ReaderActionMvcController.java index 9f9750b..b2f8d0d 100644 --- a/src/main/java/com/LabWork/app/MangaStore/controller/Reader/ReaderActionMvcController.java +++ b/src/main/java/com/LabWork/app/MangaStore/controller/Reader/ReaderActionMvcController.java @@ -49,13 +49,12 @@ public class ReaderActionMvcController { @RequestParam("mangaId") Long mangaId, @ModelAttribute @Valid MangaDto MangaDto, BindingResult bindingResult, - Model model) throws IOException { -/* if (bindingResult.hasErrors()) { + Model model){ + if (bindingResult.hasErrors()) { model.addAttribute("errors", bindingResult.getAllErrors()); - return "readerAction-edit"; - }*/ + return "readerAction"; + } readerService.addManga(mangaId, readerId); - System.out.println(mangaId + " " + readerId); return "redirect:/readerAction/?readerId=" + readerId; } diff --git a/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/MangaDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/MangaDto.java index 693e388..d8768ad 100644 --- a/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/MangaDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/MangaDto.java @@ -14,6 +14,9 @@ public class MangaDto { private Integer chapterCount; private String image; + public MangaDto() { + } + public MangaDto(Manga manga) { this.id = manga.getId(); this.creatorId = manga.getCreator().getId(); @@ -21,9 +24,6 @@ public class MangaDto { this.chapterCount = manga.getChapterCount(); this.image = new String(manga.getImage(), StandardCharsets.UTF_8); } - - public MangaDto() { - } public Long getId() { return id; } diff --git a/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/ReaderDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/ReaderDto.java index cb29868..b8631ad 100644 --- a/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/ReaderDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/SupportDto/ReaderDto.java @@ -11,6 +11,9 @@ public class ReaderDto { private String hashedPassword; + public ReaderDto() { + } + public ReaderDto(Reader reader) { this.id = reader.getId(); this.readerName = reader.getReaderName(); diff --git a/src/main/resources/templates/catalog.html b/src/main/resources/templates/catalog.html index 3a1844e..30fbf67 100644 --- a/src/main/resources/templates/catalog.html +++ b/src/main/resources/templates/catalog.html @@ -10,7 +10,7 @@
diff --git a/src/main/resources/templates/creator-edit.html b/src/main/resources/templates/creator-edit.html index a80d814..c634526 100644 --- a/src/main/resources/templates/creator-edit.html +++ b/src/main/resources/templates/creator-edit.html @@ -10,11 +10,11 @@