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