1
22
23 package com.liferay.portlet.calendar.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("event-reminder-email")) {
71 updateEmailEventReminder(req, prefs);
72 }
73
74 if (SessionErrors.isEmpty(req)) {
75 prefs.store();
76
77 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
78 }
79 }
80
81 public String render(
82 PortletConfig config, RenderRequest req, RenderResponse res)
83 throws Exception {
84
85 return "/html/portlet/calendar/configuration.jsp";
86 }
87
88 protected void updateEmailFrom(ActionRequest req, PortletPreferences prefs)
89 throws Exception {
90
91 String emailFromName = ParamUtil.getString(req, "emailFromName");
92 String emailFromAddress = ParamUtil.getString(req, "emailFromAddress");
93
94 if (Validator.isNull(emailFromName)) {
95 SessionErrors.add(req, "emailFromName");
96 }
97 else if (!Validator.isEmailAddress(emailFromAddress)) {
98 SessionErrors.add(req, "emailFromAddress");
99 }
100 else {
101 prefs.setValue("email-from-name", emailFromName);
102 prefs.setValue("email-from-address", emailFromAddress);
103 }
104 }
105
106 protected void updateEmailEventReminder(
107 ActionRequest req, PortletPreferences prefs)
108 throws Exception {
109
110 String emailEventReminderEnabled = ParamUtil.getString(
111 req, "emailEventReminderEnabled");
112 String emailEventReminderSubject = ParamUtil.getString(
113 req, "emailEventReminderSubject");
114 String emailEventReminderBody = ParamUtil.getString(
115 req, "emailEventReminderBody");
116
117 if (Validator.isNull(emailEventReminderSubject)) {
118 SessionErrors.add(req, "emailEventReminderSubject");
119 }
120 else if (Validator.isNull(emailEventReminderBody)) {
121 SessionErrors.add(req, "emailEventReminderBody");
122 }
123 else {
124 prefs.setValue(
125 "email-event-reminder-enabled", emailEventReminderEnabled);
126 prefs.setValue(
127 "email-event-reminder-subject", emailEventReminderSubject);
128 prefs.setValue("email-event-reminder-body", emailEventReminderBody);
129 }
130 }
131
132 }