source: Git/src/main/java/com/wediscussmovies/project/web/controller/ReplyController.java@ e0ef1b1

main
Last change on this file since e0ef1b1 was e0ef1b1, checked in by Test <matonikolov77@…>, 2 years ago

Added CRUD for movies,persons,discussion,replies,genres
Added ajaxcalls

  • Property mode set to 100644
File size: 2.7 KB
Line 
1package com.wediscussmovies.project.web.controller;
2
3import com.wediscussmovies.project.LoggedUser;
4import com.wediscussmovies.project.model.Reply;
5import com.wediscussmovies.project.model.User;
6import com.wediscussmovies.project.model.primarykeys.ReplyPK;
7import com.wediscussmovies.project.service.ReplyService;
8import org.springframework.security.authentication.AnonymousAuthenticationToken;
9import org.springframework.security.core.Authentication;
10import org.springframework.security.core.context.SecurityContextHolder;
11import org.springframework.security.core.userdetails.UserDetails;
12import org.springframework.stereotype.Controller;
13import org.springframework.ui.Model;
14import org.springframework.web.bind.annotation.*;
15
16
17@Controller
18@RequestMapping("/replies")
19public class ReplyController {
20 private final ReplyService replyService;
21
22 public ReplyController(ReplyService replyService) {
23 this.replyService = replyService;
24 }
25
26 @GetMapping("/add/{discussionId}")
27 public String addForm(@PathVariable Integer discussionId, Model model){
28 model.addAttribute("discussionId",discussionId);
29 model.addAttribute("contentTemplate","repliesAdd");
30 return "template";
31 }
32
33 @GetMapping("/edit/{discussionId}/{replyId}")
34 public String editForm(@PathVariable Integer discussionId,@PathVariable Integer replyId, Model model){
35
36 try {
37 Reply reply = replyService.findById(discussionId,replyId);
38 model.addAttribute("reply", reply);
39 model.addAttribute("contentTemplate", "repliesAdd");
40 return "template";
41
42
43 }catch (RuntimeException exc){
44 return "redirect:/discussions?error="+exc.getMessage();
45
46 }
47 }
48 @PostMapping("/save")
49 public String saveReply(
50 @RequestParam Integer discussionId,
51 @RequestParam String text){
52
53 try {
54
55 this.replyService.save(discussionId,text, LoggedUser.getLoggedUser());
56 return "redirect:/discussions/"+discussionId;
57
58 }
59 catch (RuntimeException exc){
60 return "redirect:/discussions?error="+exc.getMessage();
61
62 }
63 }
64
65 @PostMapping("/save/{replyId}")
66 public String editReply(
67 @PathVariable Integer replyId,
68 @RequestParam Integer discussionId,
69 @RequestParam String text){
70
71 /*
72 1. Da se realizira so ajax baranje na restController
73 */
74 try {
75 Reply reply = replyService.edit(replyId,discussionId, text);
76
77 return "redirect:/discussions/" + reply.getDiscussion().getDiscussionId();
78 }
79 catch (RuntimeException exc){
80 return "redirect:/discussions?error="+exc.getMessage();
81 }
82
83 }
84
85}
Note: See TracBrowser for help on using the repository browser.