1
22
23 package com.liferay.portal.action;
24
25 import com.liferay.portal.NoSuchUserException;
26 import com.liferay.portal.UserReminderQueryException;
27 import com.liferay.portal.kernel.servlet.SessionErrors;
28 import com.liferay.portal.kernel.util.Constants;
29 import com.liferay.portal.kernel.util.ParamUtil;
30 import com.liferay.portal.kernel.util.Validator;
31 import com.liferay.portal.security.auth.PrincipalException;
32 import com.liferay.portal.service.UserServiceUtil;
33 import com.liferay.portal.struts.ActionConstants;
34 import com.liferay.portal.util.PortalUtil;
35 import com.liferay.portlet.enterpriseadmin.util.EnterpriseAdminUtil;
36
37 import javax.servlet.http.HttpServletRequest;
38 import javax.servlet.http.HttpServletResponse;
39
40 import org.apache.struts.action.Action;
41 import org.apache.struts.action.ActionForm;
42 import org.apache.struts.action.ActionForward;
43 import org.apache.struts.action.ActionMapping;
44
45
50 public class UpdateReminderQueryAction extends Action {
51
52 public ActionForward execute(
53 ActionMapping mapping, ActionForm form, HttpServletRequest request,
54 HttpServletResponse response)
55 throws Exception {
56
57 String cmd = ParamUtil.getString(request, Constants.CMD);
58
59 if (Validator.isNull(cmd)) {
60 return mapping.findForward("portal.update_reminder_query");
61 }
62
63 try {
64 updateReminderQuery(request, response);
65
66 return mapping.findForward(ActionConstants.COMMON_REFERER);
67 }
68 catch (Exception e) {
69 if (e instanceof UserReminderQueryException) {
70 SessionErrors.add(request, e.getClass().getName());
71
72 return mapping.findForward("portal.update_reminder_query");
73 }
74 else if (e instanceof NoSuchUserException ||
75 e instanceof PrincipalException) {
76
77 SessionErrors.add(request, e.getClass().getName());
78
79 return mapping.findForward("portal.error");
80 }
81 else {
82 PortalUtil.sendError(e, request, response);
83
84 return null;
85 }
86 }
87 }
88
89 protected void updateReminderQuery(
90 HttpServletRequest request, HttpServletResponse response)
91 throws Exception {
92
93 long userId = PortalUtil.getUserId(request);
94 String question = ParamUtil.getString(request, "reminderQueryQuestion");
95 String answer = ParamUtil.getString(request, "reminderQueryAnswer");
96
97 if (question.equals(EnterpriseAdminUtil.CUSTOM_QUESTION)) {
98 question = ParamUtil.getString(
99 request, "reminderQueryCustomQuestion");
100 }
101
102 UserServiceUtil.updateReminderQuery(userId, question, answer);
103 }
104
105 }