Example usage for com.liferay.portal.kernel.exception RequiredReminderQueryException RequiredReminderQueryException

List of usage examples for com.liferay.portal.kernel.exception RequiredReminderQueryException RequiredReminderQueryException

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.exception RequiredReminderQueryException RequiredReminderQueryException.

Prototype

public RequiredReminderQueryException(Throwable cause) 

Source Link

Usage

From source file:com.liferay.login.web.internal.portlet.action.ForgotPasswordMVCActionCommand.java

License:Open Source License

protected void sendPassword(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    Company company = themeDisplay.getCompany();

    User user = getUser(actionRequest);/*from   w w w.  j a v  a2  s. c  o  m*/

    if (PropsValues.USERS_REMINDER_QUERIES_ENABLED) {
        if (PropsValues.USERS_REMINDER_QUERIES_REQUIRED && !user.hasReminderQuery()) {

            throw new RequiredReminderQueryException(
                    "No reminder query or answer is defined for user " + user.getUserId());
        }

        String answer = ParamUtil.getString(actionRequest, "answer");

        String reminderQueryAnswer = user.getReminderQueryAnswer();

        if (!reminderQueryAnswer.equals(answer)) {
            throw new UserReminderQueryException("Reminder query answer does not match answer");
        }
    }

    PortletPreferences portletPreferences = actionRequest.getPreferences();

    String languageId = LanguageUtil.getLanguageId(actionRequest);

    String emailFromName = portletPreferences.getValue("emailFromName", null);
    String emailFromAddress = portletPreferences.getValue("emailFromAddress", null);
    String emailToAddress = user.getEmailAddress();

    String emailParam = "emailPasswordSent";

    if (company.isSendPasswordResetLink()) {
        emailParam = "emailPasswordReset";
    }

    String subject = portletPreferences.getValue(emailParam + "Subject_" + languageId, null);
    String body = portletPreferences.getValue(emailParam + "Body_" + languageId, null);

    LoginUtil.sendPassword(actionRequest, emailFromName, emailFromAddress, emailToAddress, subject, body);

    HttpServletRequest request = _portal.getHttpServletRequest(actionRequest);

    SessionMessages.add(request, "passwordSent");

    sendRedirect(actionRequest, actionResponse, null);
}