Example usage for org.apache.wicket.markup.html WebPage continueToOriginalDestination

List of usage examples for org.apache.wicket.markup.html WebPage continueToOriginalDestination

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html WebPage continueToOriginalDestination.

Prototype

public final void continueToOriginalDestination() 

Source Link

Document

Redirects to any intercept page previously specified by a call to #redirectToInterceptPage(Page) .

Usage

From source file:org.projectforge.web.LoginPage.java

License:Open Source License

/**
 * @param page//from   w  w  w. j a  v a2  s .c om
 * @param userDao
 * @param dataSource
 * @param username
 * @param password
 * @param userWantsToStayLoggedIn
 * @param defaultPage
 * @param targetUrlAfterLogin
 * @return i18n key of the validation error message if not successfully logged in, otherwise null.
 */
public static String internalCheckLogin(final WebPage page, final UserDao userDao, final String username,
        final String password, final boolean userWantsToStayLoggedIn,
        final Class<? extends WebPage> defaultPage) {
    final LoginResult loginResult = Login.getInstance().checkLogin(username, password);
    final PFUserDO user = loginResult.getUser();
    if (user == null || loginResult.getLoginResultStatus() != LoginResultStatus.SUCCESS) {
        return loginResult.getLoginResultStatus().getI18nKey();
    }
    if (UserFilter.isUpdateRequiredFirst() == true) {
        internalLogin(page, user);
        log.info("Admin login for maintenance (data-base update) successful for user '" + username + "'.");
        throw new RestartResponseException(SystemUpdatePage.class);
    }
    log.info("User successfully logged in: " + user.getDisplayUsername());
    if (userWantsToStayLoggedIn == true) {
        final PFUserDO loggedInUser = userDao.internalGetById(user.getId());
        final Cookie cookie = new Cookie("stayLoggedIn", loggedInUser.getId() + ":" + loggedInUser.getUsername()
                + ":" + userDao.getStayLoggedInKey(user.getId()));
        UserFilter.addStayLoggedInCookie(WicketUtils.getHttpServletRequest(page.getRequest()),
                WicketUtils.getHttpServletResponse(page.getResponse()), cookie);
    }
    internalLogin(page, user);
    // Do not redirect to requested page in maintenance mode (update required first):
    if (UserFilter.isUpdateRequiredFirst() == true) {
        throw new RestartResponseException(SystemUpdatePage.class);
    }
    page.continueToOriginalDestination();
    // Redirect only if not a redirect is set by Wicket.
    throw new RestartResponseException(defaultPage);
}