1
22
23 package com.liferay.portlet.journal.action;
24
25 import com.liferay.portal.kernel.portlet.ConfigurationAction;
26 import com.liferay.portal.kernel.util.Constants;
27 import com.liferay.portal.kernel.util.ParamUtil;
28 import com.liferay.portal.kernel.util.Validator;
29 import com.liferay.portlet.PortletPreferencesFactoryUtil;
30 import com.liferay.util.servlet.SessionErrors;
31 import com.liferay.util.servlet.SessionMessages;
32
33 import javax.portlet.ActionRequest;
34 import javax.portlet.ActionResponse;
35 import javax.portlet.PortletConfig;
36 import javax.portlet.PortletPreferences;
37 import javax.portlet.RenderRequest;
38 import javax.portlet.RenderResponse;
39
40
46 public class ConfigurationActionImpl implements ConfigurationAction {
47
48 public void processAction(
49 PortletConfig config, ActionRequest req, ActionResponse res)
50 throws Exception {
51
52 String cmd = ParamUtil.getString(req, Constants.CMD);
53
54 if (!cmd.equals(Constants.UPDATE)) {
55 return;
56 }
57
58 String portletResource = ParamUtil.getString(
59 req, "portletResource");
60
61 PortletPreferences prefs =
62 PortletPreferencesFactoryUtil.getPortletSetup(req, portletResource);
63
64 String tabs2 = ParamUtil.getString(req, "tabs2");
65
66 if (tabs2.equals("email-from")) {
67 updateEmailFrom(req, prefs);
68 }
69 else if (tabs2.equals("article-approval-denied-email")) {
70 updateEmailArticleApprovalDenied(req, prefs);
71 }
72 else if (tabs2.equals("article-approval-granted-email")) {
73 updateEmailArticleApprovalGranted(req, prefs);
74 }
75 else if (tabs2.equals("article-approval-requested-email")) {
76 updateEmailArticleApprovalRequested(req, prefs);
77 }
78 else if (tabs2.equals("article-review-email")) {
79 updateEmailArticleReview(req, prefs);
80 }
81
82 if (SessionErrors.isEmpty(req)) {
83 prefs.store();
84
85 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
86 }
87 }
88
89 public String render(
90 PortletConfig config, RenderRequest req, RenderResponse res)
91 throws Exception {
92
93 return "/html/portlet/journal/configuration.jsp";
94 }
95
96 protected void updateEmailFrom(ActionRequest req, PortletPreferences prefs)
97 throws Exception {
98
99 String emailFromName = ParamUtil.getString(req, "emailFromName");
100 String emailFromAddress = ParamUtil.getString(req, "emailFromAddress");
101
102 if (Validator.isNull(emailFromName)) {
103 SessionErrors.add(req, "emailFromName");
104 }
105 else if (!Validator.isEmailAddress(emailFromAddress)) {
106 SessionErrors.add(req, "emailFromAddress");
107 }
108 else {
109 prefs.setValue("email-from-name", emailFromName);
110 prefs.setValue("email-from-address", emailFromAddress);
111 }
112 }
113
114 protected void updateEmailArticleApprovalDenied(
115 ActionRequest req, PortletPreferences prefs)
116 throws Exception {
117
118 boolean emailArticleApprovalDeniedEnabled = ParamUtil.getBoolean(
119 req, "emailArticleApprovalDeniedEnabled");
120 String emailArticleApprovalDeniedSubject = ParamUtil.getString(
121 req, "emailArticleApprovalDeniedSubject");
122 String emailArticleApprovalDeniedBody = ParamUtil.getString(
123 req, "emailArticleApprovalDeniedBody");
124
125 if (Validator.isNull(emailArticleApprovalDeniedSubject)) {
126 SessionErrors.add(req, "emailArticleApprovalDeniedSubject");
127 }
128 else if (Validator.isNull(emailArticleApprovalDeniedBody)) {
129 SessionErrors.add(req, "emailArticleApprovalDeniedBody");
130 }
131 else {
132 prefs.setValue(
133 "email-article-approval-denied-enabled",
134 String.valueOf(emailArticleApprovalDeniedEnabled));
135 prefs.setValue(
136 "email-article-approval-denied-subject",
137 emailArticleApprovalDeniedSubject);
138 prefs.setValue(
139 "email-article-approval-denied-body",
140 emailArticleApprovalDeniedBody);
141 }
142 }
143
144 protected void updateEmailArticleApprovalGranted(
145 ActionRequest req, PortletPreferences prefs)
146 throws Exception {
147
148 boolean emailArticleApprovalGrantedEnabled = ParamUtil.getBoolean(
149 req, "emailArticleApprovalGrantedEnabled");
150 String emailArticleApprovalGrantedSubject = ParamUtil.getString(
151 req, "emailArticleApprovalGrantedSubject");
152 String emailArticleApprovalGrantedBody = ParamUtil.getString(
153 req, "emailArticleApprovalGrantedBody");
154
155 if (Validator.isNull(emailArticleApprovalGrantedSubject)) {
156 SessionErrors.add(req, "emailArticleApprovalGrantedSubject");
157 }
158 else if (Validator.isNull(emailArticleApprovalGrantedBody)) {
159 SessionErrors.add(req, "emailArticleApprovalGrantedBody");
160 }
161 else {
162 prefs.setValue(
163 "email-article-approval-granted-enabled",
164 String.valueOf(emailArticleApprovalGrantedEnabled));
165 prefs.setValue(
166 "email-article-approval-granted-subject",
167 emailArticleApprovalGrantedSubject);
168 prefs.setValue(
169 "email-article-approval-granted-body",
170 emailArticleApprovalGrantedBody);
171 }
172 }
173
174 protected void updateEmailArticleApprovalRequested(
175 ActionRequest req, PortletPreferences prefs)
176 throws Exception {
177
178 boolean emailArticleApprovalRequestedEnabled = ParamUtil.getBoolean(
179 req, "emailArticleApprovalRequestedEnabled");
180 String emailArticleApprovalRequestedSubject = ParamUtil.getString(
181 req, "emailArticleApprovalRequestedSubject");
182 String emailArticleApprovalRequestedBody = ParamUtil.getString(
183 req, "emailArticleApprovalRequestedBody");
184
185 if (Validator.isNull(emailArticleApprovalRequestedSubject)) {
186 SessionErrors.add(req, "emailArticleApprovalRequestedSubject");
187 }
188 else if (Validator.isNull(emailArticleApprovalRequestedBody)) {
189 SessionErrors.add(req, "emailArticleApprovalRequestedBody");
190 }
191 else {
192 prefs.setValue(
193 "email-article-approval-requested-enabled",
194 String.valueOf(emailArticleApprovalRequestedEnabled));
195 prefs.setValue(
196 "email-article-approval-requested-subject",
197 emailArticleApprovalRequestedSubject);
198 prefs.setValue(
199 "email-article-approval-requested-body",
200 emailArticleApprovalRequestedBody);
201 }
202 }
203
204 protected void updateEmailArticleReview(
205 ActionRequest req, PortletPreferences prefs)
206 throws Exception {
207
208 boolean emailArticleReviewEnabled = ParamUtil.getBoolean(
209 req, "emailArticleReviewEnabled");
210 String emailArticleReviewSubject = ParamUtil.getString(
211 req, "emailArticleReviewSubject");
212 String emailArticleReviewBody = ParamUtil.getString(
213 req, "emailArticleReviewBody");
214
215 if (Validator.isNull(emailArticleReviewSubject)) {
216 SessionErrors.add(req, "emailArticleReviewSubject");
217 }
218 else if (Validator.isNull(emailArticleReviewBody)) {
219 SessionErrors.add(req, "emailArticleReviewBody");
220 }
221 else {
222 prefs.setValue(
223 "email-article-review-enabled",
224 String.valueOf(emailArticleReviewEnabled));
225 prefs.setValue(
226 "email-article-review-subject", emailArticleReviewSubject);
227 prefs.setValue("email-article-review-body", emailArticleReviewBody);
228 }
229 }
230
231 }