[4885da3] | 1 | package finki.paw5.web.controllers;
|
---|
| 2 |
|
---|
[9a180fd] | 3 | import finki.paw5.model.entities.Adoption;
|
---|
| 4 | import finki.paw5.model.entities.Pet;
|
---|
| 5 | import finki.paw5.model.entities.User;
|
---|
| 6 | import finki.paw5.model.exceptions.InvalidPetIdException;
|
---|
| 7 | import finki.paw5.service.AdoptionService;
|
---|
[4885da3] | 8 | import finki.paw5.service.PetService;
|
---|
[9a180fd] | 9 | import jakarta.servlet.http.HttpServletRequest;
|
---|
[4885da3] | 10 | import org.springframework.stereotype.Controller;
|
---|
[9a180fd] | 11 | import org.springframework.web.bind.annotation.PathVariable;
|
---|
| 12 | import org.springframework.web.bind.annotation.PostMapping;
|
---|
| 13 |
|
---|
| 14 | import java.time.LocalDate;
|
---|
[4885da3] | 15 |
|
---|
| 16 | @Controller
|
---|
| 17 | public class PetController {
|
---|
| 18 |
|
---|
| 19 | private final PetService petService;
|
---|
[9a180fd] | 20 | private final AdoptionService adoptionService;
|
---|
[4885da3] | 21 |
|
---|
[9a180fd] | 22 | public PetController(PetService petService, AdoptionService adoptionService) {
|
---|
[4885da3] | 23 | this.petService = petService;
|
---|
[9a180fd] | 24 | this.adoptionService = adoptionService;
|
---|
[4885da3] | 25 | }
|
---|
| 26 |
|
---|
[9a180fd] | 27 | @PostMapping("/submit-adopton-{id}")
|
---|
| 28 | public String saveAdoption(@PathVariable Integer id, HttpServletRequest request) {
|
---|
| 29 |
|
---|
[eac569a] | 30 | Pet pet = this.petService.findById(id);
|
---|
[9a180fd] | 31 |
|
---|
| 32 | User user = (User) request.getSession().getAttribute("user");
|
---|
| 33 |
|
---|
| 34 | Adoption adoption = new Adoption(LocalDate.now(), null, false, user.getId());
|
---|
| 35 | this.adoptionService.save(adoption);
|
---|
| 36 |
|
---|
| 37 | pet.setAdoptionId(adoption.getId());
|
---|
| 38 | this.petService.save(pet);
|
---|
| 39 |
|
---|
| 40 | return "redirect:/home";
|
---|
| 41 | }
|
---|
[4885da3] | 42 | }
|
---|