1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package cz.zcu.mre.controller;
23
24 import cz.zcu.mre.data.support.IssueTicket;
25 import cz.zcu.mre.data.support.MessageHelper;
26 import jakarta.validation.Valid;
27 import org.springframework.stereotype.Controller;
28 import org.springframework.ui.Model;
29 import org.springframework.web.bind.annotation.RequestMapping;
30 import org.springframework.web.bind.annotation.RequestMethod;
31 import java.security.Principal;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
34 import org.springframework.validation.BindingResult;
35
36
37
38
39
40
41 @Controller
42 public class IssueController {
43
44 private static final Logger LOG = LoggerFactory.getLogger(IssueController.class);
45
46 @RequestMapping(value = "/issue", method = RequestMethod.GET)
47 public String issue(Principal principal, Model model) {
48
49
50 IssueTicket s = new IssueTicket();
51 s.setFrom(principal.getName());
52 model.addAttribute("issueTicket", s);
53
54 return "web/issue";
55 }
56
57 @RequestMapping(value = "/issue", method = RequestMethod.POST)
58 public String issue(Principal principal, Model model, @Valid IssueTicket issueTicket, BindingResult result) {
59
60 LOG.info("{}", issueTicket);
61
62 if (result.hasErrors()) {
63 LOG.warn("{}", result);
64 return "web/issue";
65 }
66
67
68
69 MessageHelper.addSuccessAttribute(model, "issue.success");
70 LOG.info("Reported issue {}", issueTicket);
71 return "/ibdt/intro";
72 }
73 }