source: Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PostController.java@ 7e3f2f7

main
Last change on this file since 7e3f2f7 was 7e3f2f7, checked in by Filip Chorbeski <86695898+FilipChorbeski@…>, 17 months ago

(temp) added listpets and Employee session request

(temp) added listpets and Employee session request to Post Controller

  • Property mode set to 100644
File size: 2.3 KB
Line 
1package finki.paw5.web.controllers;
2
3import finki.paw5.model.entities.Employee;
4import finki.paw5.model.entities.Pet;
5import finki.paw5.model.entities.Post;
6import finki.paw5.model.entities.User;
7import finki.paw5.model.enumerations.AgeGroup;
8import finki.paw5.model.enumerations.Gender;
9import finki.paw5.model.enumerations.Size;
10import finki.paw5.model.enumerations.Species;
11import finki.paw5.service.PetService;
12import finki.paw5.service.PostService;
13import jakarta.servlet.http.HttpServletRequest;
14import org.springframework.stereotype.Controller;
15import org.springframework.ui.Model;
16import org.springframework.web.bind.annotation.GetMapping;
17import org.springframework.web.bind.annotation.PostMapping;
18import org.springframework.web.bind.annotation.RequestParam;
19
20import java.time.LocalDate;
21
22@Controller
23public class PostController {
24
25 private final PostService postService;
26 private final PetService petService;
27
28 public PostController(PostService postService, PetService petService) {
29 this.postService = postService;
30 this.petService = petService;
31 }
32
33 @GetMapping("/create-post")
34 public String get(Model model) {
35 model.addAttribute("pets", this.petService.listpets());
36 return "create-post";
37 }
38
39 @PostMapping("/submit-post")
40 public String savePost(@RequestParam(required = false) String name,
41 @RequestParam String gender,
42 @RequestParam String ageGroup,
43 @RequestParam String size,
44 @RequestParam String species,
45 @RequestParam(required = false) String breed,
46 @RequestParam(required = false) String imageUrl,
47 @RequestParam(required = false) boolean canBeFostered,
48 HttpServletRequest request) {
49
50 Employee employee = (Employee) request.getSession().getAttribute("employee");
51
52 Pet pet = new Pet(imageUrl, AgeGroup.valueOf(ageGroup), Size.valueOf(size), breed, name, Species.valueOf(species), Gender.valueOf(gender), canBeFostered, null, employee.getShelterId());
53 this.petService.save(pet);
54
55 Post post = new Post(LocalDate.now(), imageUrl, pet.getId() , null, employee.getId() );
56 this.postService.save(post);
57
58 return "redirect:/home";
59 }
60}
Note: See TracBrowser for help on using the repository browser.