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