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 @Override
70 public String save() {
71 if (this.getStorageNode() == null) {
72
73 String name = form.getParameter("shortname");
74 String title = form.getParameter("title");
75 boolean nest = BooleanUtil.toBoolean(form.getParameter("allowsNestingMessages"), false);
76 try {
77 forumManager.createForum(name, title, nest);
78 }
79 catch (RepositoryException e) {
80 AlertUtil.setException("Can't save forum", e);
81 log.error("Can't save forum", e);
82 return showDialog();
83 }
84 return VIEW_CLOSE_WINDOW;
85 } else {
86
87
88 return super.save();
89 }
90 }
91
92 }