1
22
23 package com.liferay.portlet.documentlibrary.action;
24
25 import com.liferay.portal.kernel.portlet.BaseConfigurationAction;
26 import com.liferay.portal.kernel.servlet.SessionErrors;
27 import com.liferay.portal.kernel.servlet.SessionMessages;
28 import com.liferay.portal.kernel.util.Constants;
29 import com.liferay.portal.kernel.util.ParamUtil;
30 import com.liferay.portlet.PortletPreferencesFactoryUtil;
31 import com.liferay.portlet.documentlibrary.NoSuchFolderException;
32 import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
33 import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil;
34
35 import javax.portlet.ActionRequest;
36 import javax.portlet.ActionResponse;
37 import javax.portlet.PortletConfig;
38 import javax.portlet.PortletPreferences;
39 import javax.portlet.RenderRequest;
40 import javax.portlet.RenderResponse;
41
42
48 public class ConfigurationActionImpl extends BaseConfigurationAction {
49
50 public void processAction(
51 PortletConfig portletConfig, ActionRequest actionRequest,
52 ActionResponse actionResponse)
53 throws Exception {
54
55 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
56
57 if (!cmd.equals(Constants.UPDATE)) {
58 return;
59 }
60
61 String folderDisplayStyle = ParamUtil.getString(
62 actionRequest, "folderDisplayStyle");
63
64 long rootFolderId = ParamUtil.getLong(actionRequest, "rootFolderId");
65
66 boolean showBreadcrumbs = ParamUtil.getBoolean(
67 actionRequest, "showBreadcrumbs");
68 boolean showFoldersSearch = ParamUtil.getBoolean(
69 actionRequest, "showFoldersSearch");
70 boolean showSubfolders = ParamUtil.getBoolean(
71 actionRequest, "showSubfolders");
72 int foldersPerPage = ParamUtil.getInteger(
73 actionRequest, "foldersPerPage");
74 String folderColumns = ParamUtil.getString(
75 actionRequest, "folderColumns");
76
77 boolean showFileEntriesSearch = ParamUtil.getBoolean(
78 actionRequest, "showFileEntriesSearch");
79 int fileEntriesPerPage = ParamUtil.getInteger(
80 actionRequest, "fileEntriesPerPage");
81 String fileEntryColumns = ParamUtil.getString(
82 actionRequest, "fileEntryColumns");
83
84 boolean enableCommentRatings = ParamUtil.getBoolean(
85 actionRequest, "enableCommentRatings");
86
87 String portletResource = ParamUtil.getString(
88 actionRequest, "portletResource");
89
90 PortletPreferences prefs =
91 PortletPreferencesFactoryUtil.getPortletSetup(
92 actionRequest, portletResource);
93
94 if (rootFolderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
95 try {
96 DLFolderLocalServiceUtil.getFolder(rootFolderId);
97 }
98 catch (NoSuchFolderException e) {
99 SessionErrors.add(actionRequest, "rootFolderIdInvalid");
100 }
101 }
102
103 prefs.setValue("folderDisplayStyle", folderDisplayStyle);
104
105 prefs.setValue("rootFolderId", String.valueOf(rootFolderId));
106
107 prefs.setValue("showBreadcrumbs", String.valueOf(showBreadcrumbs));
108 prefs.setValue("showFoldersSearch", String.valueOf(showFoldersSearch));
109 prefs.setValue("showSubfolders", String.valueOf(showSubfolders));
110 prefs.setValue("foldersPerPage", String.valueOf(foldersPerPage));
111 prefs.setValue("folderColumns", folderColumns);
112
113 prefs.setValue(
114 "showFileEntriesSearch", String.valueOf(showFileEntriesSearch));
115 prefs.setValue(
116 "fileEntriesPerPage", String.valueOf(fileEntriesPerPage));
117 prefs.setValue("fileEntryColumns", fileEntryColumns);
118
119 prefs.setValue(
120 "enable-comment-ratings", String.valueOf(enableCommentRatings));
121
122 if (SessionErrors.isEmpty(actionRequest)) {
123 prefs.store();
124
125 SessionMessages.add(
126 actionRequest, portletConfig.getPortletName() + ".doConfigure");
127 }
128 }
129
130 public String render(
131 PortletConfig portletConfig, RenderRequest renderRequest,
132 RenderResponse renderResponse)
133 throws Exception {
134
135 return "/html/portlet/document_library/configuration.jsp";
136 }
137
138 }