1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.forum.admin.dialog;
35
36 import info.magnolia.cms.core.Content;
37 import info.magnolia.cms.util.AlertUtil;
38 import info.magnolia.cms.util.BooleanUtil;
39 import info.magnolia.module.admininterface.dialogs.ConfiguredDialog;
40 import info.magnolia.module.forum.ForumManager;
41 import org.slf4j.Logger;
42 import org.slf4j.LoggerFactory;
43
44 import javax.jcr.RepositoryException;
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
47
48
49
50
51
52
53
54
55 public class ForumEditDialogHandler extends ConfiguredDialog {
56 private static final Logger log = LoggerFactory.getLogger(ForumEditDialogHandler.class);
57
58 private final ForumManager forumManager;
59
60 public ForumEditDialogHandler(String name, HttpServletRequest request, HttpServletResponse response, Content configNode) {
61 this(name, request, response, configNode, ForumManager.Factory.getInstance());
62 }
63
64 protected ForumEditDialogHandler(String name, HttpServletRequest request, HttpServletResponse response, Content configNode, ForumManager forumManager) {
65 super(name, request, response, configNode);
66 this.forumManager = ForumManager.Factory.getInstance();
67 }
68
69 public String save() {
70 if (this.getStorageNode() == null) {
71
72 String name = form.getParameter("shortname");
73 String title = form.getParameter("title");
74 boolean nest = BooleanUtil.toBoolean(form.getParameter("allowsNestingMessages"), false);
75 try {
76 forumManager.createForum(name, title, nest);
77 }
78 catch (RepositoryException e) {
79 AlertUtil.setException("Can't save forum", e);
80 log.error("Can't save forum", e);
81 return showDialog();
82 }
83 return VIEW_CLOSE_WINDOW;
84 } else {
85
86
87 return super.save();
88 }
89 }
90
91 }