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.DefaultForumManager;
41 import info.magnolia.module.forum.ForumManager;
42 import org.slf4j.Logger;
43 import org.slf4j.LoggerFactory;
44
45 import javax.jcr.RepositoryException;
46 import javax.servlet.http.HttpServletRequest;
47 import javax.servlet.http.HttpServletResponse;
48
49
50
51
52
53
54
55
56 public class ForumEditDialogHandler extends ConfiguredDialog {
57 private static final Logger log = LoggerFactory.getLogger(ForumEditDialogHandler.class);
58
59 private final ForumManager forumManager;
60
61 public ForumEditDialogHandler(String name, HttpServletRequest request, HttpServletResponse response, Content configNode) {
62 this(name, request, response, configNode, ForumManager.Factory.getInstance());
63 }
64
65 protected ForumEditDialogHandler(String name, HttpServletRequest request, HttpServletResponse response, Content configNode, ForumManager forumManager) {
66 super(name, request, response, configNode);
67 this.forumManager = ForumManager.Factory.getInstance();
68 }
69
70 @Override
71 public String save() {
72 if (this.getStorageNode() == null) {
73
74 String name = form.getParameter("shortname");
75 String title = form.getParameter("title");
76 boolean nest = BooleanUtil.toBoolean(form.getParameter(DefaultForumManager.ALLOWS_NESTING_MESSAGES), false);
77 try {
78 forumManager.createForum(name, title, nest);
79 }
80 catch (RepositoryException e) {
81 AlertUtil.setException("Can't save forum", e);
82 log.error("Can't save forum", e);
83 return showDialog();
84 }
85 return VIEW_CLOSE_WINDOW;
86 } else {
87
88
89 return super.save();
90 }
91 }
92
93 }