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(
63 req, portletResource, false, true);
64
65 String tabs2 = ParamUtil.getString(req, "tabs2");
66
67 if (tabs2.equals("email-from")) {
68 updateEmailFrom(req, prefs);
69 }
70 else if (tabs2.equals("article-approval-denied-email")) {
71 updateEmailArticleApprovalDenied(req, prefs);
72 }
73 else if (tabs2.equals("article-approval-granted-email")) {
74 updateEmailArticleApprovalGranted(req, prefs);
75 }
76 else if (tabs2.equals("article-approval-requested-email")) {
77 updateEmailArticleApprovalRequested(req, prefs);
78 }
79 else if (tabs2.equals("article-review-email")) {
80 updateEmailArticleReview(req, prefs);
81 }
82
83 if (SessionErrors.isEmpty(req)) {
84 prefs.store();
85
86 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
87 }
88 }
89
90 public String render(
91 PortletConfig config, RenderRequest req, RenderResponse res)
92 throws Exception {
93
94 return "/html/portlet/journal/configuration.jsp";
95 }
96
97 protected void updateEmailFrom(ActionRequest req, PortletPreferences prefs)
98 throws Exception {
99
100 String emailFromName = ParamUtil.getString(req, "emailFromName");
101 String emailFromAddress = ParamUtil.getString(req, "emailFromAddress");
102
103 if (Validator.isNull(emailFromName)) {
104 SessionErrors.add(req, "emailFromName");
105 }
106 else if (!Validator.isEmailAddress(emailFromAddress)) {
107 SessionErrors.add(req, "emailFromAddress");
108 }
109 else {
110 prefs.setValue("email-from-name", emailFromName);
111 prefs.setValue("email-from-address", emailFromAddress);
112 }
113 }
114
115 protected void updateEmailArticleApprovalDenied(
116 ActionRequest req, PortletPreferences prefs)
117 throws Exception {
118
119 String emailArticleApprovalDeniedEnabled = ParamUtil.getString(
120 req, "emailArticleApprovalDeniedEnabled");
121 String emailArticleApprovalDeniedSubject = ParamUtil.getString(
122 req, "emailArticleApprovalDeniedSubject");
123 String emailArticleApprovalDeniedBody = ParamUtil.getString(
124 req, "emailArticleApprovalDeniedBody");
125
126 if (Validator.isNull(emailArticleApprovalDeniedSubject)) {
127 SessionErrors.add(req, "emailArticleApprovalDeniedSubject");
128 }
129 else if (Validator.isNull(emailArticleApprovalDeniedBody)) {
130 SessionErrors.add(req, "emailArticleApprovalDeniedBody");
131 }
132 else {
133 prefs.setValue(
134 "email-article-approval-denied-enabled",
135 emailArticleApprovalDeniedEnabled);
136 prefs.setValue(
137 "email-article-approval-denied-subject",
138 emailArticleApprovalDeniedSubject);
139 prefs.setValue(
140 "email-article-approval-denied-body",
141 emailArticleApprovalDeniedBody);
142 }
143 }
144
145 protected void updateEmailArticleApprovalGranted(
146 ActionRequest req, PortletPreferences prefs)
147 throws Exception {
148
149 String emailArticleApprovalGrantedEnabled = ParamUtil.getString(
150 req, "emailArticleApprovalGrantedEnabled");
151 String emailArticleApprovalGrantedSubject = ParamUtil.getString(
152 req, "emailArticleApprovalGrantedSubject");
153 String emailArticleApprovalGrantedBody = ParamUtil.getString(
154 req, "emailArticleApprovalGrantedBody");
155
156 if (Validator.isNull(emailArticleApprovalGrantedSubject)) {
157 SessionErrors.add(req, "emailArticleApprovalGrantedSubject");
158 }
159 else if (Validator.isNull(emailArticleApprovalGrantedBody)) {
160 SessionErrors.add(req, "emailArticleApprovalGrantedBody");
161 }
162 else {
163 prefs.setValue(
164 "email-article-approval-granted-enabled",
165 emailArticleApprovalGrantedEnabled);
166 prefs.setValue(
167 "email-article-approval-granted-subject",
168 emailArticleApprovalGrantedSubject);
169 prefs.setValue(
170 "email-article-approval-granted-body",
171 emailArticleApprovalGrantedBody);
172 }
173 }
174
175 protected void updateEmailArticleApprovalRequested(
176 ActionRequest req, PortletPreferences prefs)
177 throws Exception {
178
179 String emailArticleApprovalRequestedEnabled = ParamUtil.getString(
180 req, "emailArticleApprovalRequestedEnabled");
181 String emailArticleApprovalRequestedSubject = ParamUtil.getString(
182 req, "emailArticleApprovalRequestedSubject");
183 String emailArticleApprovalRequestedBody = ParamUtil.getString(
184 req, "emailArticleApprovalRequestedBody");
185
186 if (Validator.isNull(emailArticleApprovalRequestedSubject)) {
187 SessionErrors.add(req, "emailArticleApprovalRequestedSubject");
188 }
189 else if (Validator.isNull(emailArticleApprovalRequestedBody)) {
190 SessionErrors.add(req, "emailArticleApprovalRequestedBody");
191 }
192 else {
193 prefs.setValue(
194 "email-article-approval-requested-enabled",
195 emailArticleApprovalRequestedEnabled);
196 prefs.setValue(
197 "email-article-approval-requested-subject",
198 emailArticleApprovalRequestedSubject);
199 prefs.setValue(
200 "email-article-approval-requested-body",
201 emailArticleApprovalRequestedBody);
202 }
203 }
204
205 protected void updateEmailArticleReview(
206 ActionRequest req, PortletPreferences prefs)
207 throws Exception {
208
209 String emailArticleReviewEnabled = ParamUtil.getString(
210 req, "emailArticleReviewEnabled");
211 String emailArticleReviewSubject = ParamUtil.getString(
212 req, "emailArticleReviewSubject");
213 String emailArticleReviewBody = ParamUtil.getString(
214 req, "emailArticleReviewBody");
215
216 if (Validator.isNull(emailArticleReviewSubject)) {
217 SessionErrors.add(req, "emailArticleReviewSubject");
218 }
219 else if (Validator.isNull(emailArticleReviewBody)) {
220 SessionErrors.add(req, "emailArticleReviewBody");
221 }
222 else {
223 prefs.setValue(
224 "email-article-review-enabled", emailArticleReviewEnabled);
225 prefs.setValue(
226 "email-article-review-subject", emailArticleReviewSubject);
227 prefs.setValue("email-article-review-body", emailArticleReviewBody);
228 }
229 }
230
231 }