From a50b777f67a89ae1222581147f052d3295f3bb34 Mon Sep 17 00:00:00 2001 From: Juliette de Rancourt Date: Mon, 20 Nov 2023 18:58:00 +0100 Subject: [PATCH] feat(bo): Add operator comment on tenant --- .../bo/controller/BOTenantController.java | 23 ++++-- .../templates/bo/apartment-sharing-view.html | 79 +++++++++++++++---- 2 files changed, 81 insertions(+), 21 deletions(-) diff --git a/dossierfacile-bo/src/main/java/fr/gouv/bo/controller/BOTenantController.java b/dossierfacile-bo/src/main/java/fr/gouv/bo/controller/BOTenantController.java index 3cbccdc59..6694c0ee7 100644 --- a/dossierfacile-bo/src/main/java/fr/gouv/bo/controller/BOTenantController.java +++ b/dossierfacile-bo/src/main/java/fr/gouv/bo/controller/BOTenantController.java @@ -47,6 +47,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import java.io.IOException; import java.security.Principal; @@ -91,7 +92,7 @@ public class BOTenantController { public String getTenant(@PathVariable Long id) { Tenant tenant = tenantService.findTenantById(id); if (tenant != null) { - return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + return redirectToTenantPage(tenant); } throw new ObjectNotFoundException("TENANT", "Tenant is not found. Still exists?"); } @@ -99,7 +100,7 @@ public String getTenant(@PathVariable Long id) { @GetMapping("/setAsTenantCreate/{id}") public String setAsTenantCreate(@PathVariable Long id) { Tenant tenant = userService.setAsTenantCreate(tenantService.findTenantById(id)); - return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + return redirectToTenantPage(tenant); } @GetMapping("/deleteCoTenant/{id}") @@ -159,7 +160,7 @@ public String deleteDocument(@PathVariable("id") Long id, Principal principal) { apartmentSharingService.resetDossierPdfGenerated(tenant.getApartmentSharing()); User operator = userService.findUserByEmail(principal.getName()); tenantService.updateTenantStatus(tenant, operator); - return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + return redirectToTenantPage(tenant); } @GetMapping("/status/{id}") @@ -168,7 +169,7 @@ public String changeStatusOfDocument(@PathVariable("id") Long id, MessageDTO mes apartmentSharingService.resetDossierPdfGenerated(tenant.getApartmentSharing()); User operator = userService.findUserByEmail(principal.getName()); tenantService.updateTenantStatus(tenant, operator); - return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + return redirectToTenantPage(tenant); } private void checkPartnerRights(Tenant tenant, Principal principal){ BOUser operator = userService.findUserByEmail(principal.getName()); @@ -207,7 +208,7 @@ public String deleteGuarantor(@PathVariable("guarantorId") Long guarantorId, Pri apartmentSharingService.resetDossierPdfGenerated(tenant.getApartmentSharing()); User operator = userService.findUserByEmail(principal.getName()); tenantService.updateTenantStatus(tenant, operator); - return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + return redirectToTenantPage(tenant); } private Boolean findNewMessageFromTenant(Long id) { @@ -229,6 +230,18 @@ public String processFile(@PathVariable("id") Long id, CustomMessage customMessa return tenantService.redirectToApplication(principal, null); } + @PostMapping("/{id}/comment") + public String addOperatorComment(@PathVariable("id") Long id, @RequestParam String comment) { + Tenant tenant = tenantService.find(id); + tenant.setOperatorComment(comment); + tenantService.save(tenant); + return redirectToTenantPage(tenant); + } + + private static String redirectToTenantPage(Tenant tenant) { + return "redirect:/bo/colocation/" + tenant.getApartmentSharing().getId() + "#tenant" + tenant.getId(); + } + private List getItemDetailForSubcategoryOfDocument(DocumentSubCategory documentSubCategory, String tenantOrGuarantor) { List itemDetails = new ArrayList<>(); diff --git a/dossierfacile-bo/src/main/resources/templates/bo/apartment-sharing-view.html b/dossierfacile-bo/src/main/resources/templates/bo/apartment-sharing-view.html index 6adfc649d..596b007c7 100644 --- a/dossierfacile-bo/src/main/resources/templates/bo/apartment-sharing-view.html +++ b/dossierfacile-bo/src/main/resources/templates/bo/apartment-sharing-view.html @@ -404,33 +404,80 @@