diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java index 329c82395..1b7f94847 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java @@ -25,12 +25,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.WebDataBinder; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.InitBinder; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import jakarta.validation.Valid; @@ -144,6 +139,12 @@ class OwnerController { return "redirect:/owners/{ownerId}"; } + @GetMapping("/owners/{ownerId}/delete") + public String deleteOwner(@PathVariable("ownerId") int ownerId) { + this.owners.deleteOwnerById(ownerId); + return "redirect:/owners"; + } + /** * Custom handler for displaying an owner. * @param ownerId the ID of the owner to display diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java index f44449439..b409b2923 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java @@ -72,6 +72,9 @@ public interface OwnerRepository extends Repository { */ void save(Owner owner); + @Transactional + void deleteOwnerById(int ownerId); + /** * Returns all the owners from data store **/ diff --git a/src/main/resources/templates/owners/ownerDetails.html b/src/main/resources/templates/owners/ownerDetails.html index 0d85aa2b4..69234b0f3 100644 --- a/src/main/resources/templates/owners/ownerDetails.html +++ b/src/main/resources/templates/owners/ownerDetails.html @@ -34,6 +34,12 @@ Edit Owner + Delete + Owner + + + + Add New Pet