On Mon, Jan 5, 2015 at 10:07 PM, <[email protected]> wrote:

> ISIS-987: don't allow the user to navigate to the signUp or password reset
> pages if that functionality has been suppressed.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/isis/repo
> Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1ca9c59d
> Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1ca9c59d
> Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1ca9c59d
>
> Branch: refs/heads/master
> Commit: 1ca9c59d9da85065da17ecdc074a01c562d5dcb7
> Parents: 0ed6be7
> Author: Dan Haywood <[email protected]>
> Authored: Mon Jan 5 20:06:56 2015 +0000
> Committer: Dan Haywood <[email protected]>
> Committed: Mon Jan 5 20:06:56 2015 +0000
>
> ----------------------------------------------------------------------
>  .../accmngt/password_reset/PasswordResetPage.java    |  9 ++++++++-
>  .../pages/accmngt/signup/RegistrationFormPage.java   |  8 ++++++++
>  .../wicket/ui/pages/login/WicketSignInPage.java      | 15 ++++++++++-----
>  3 files changed, 26 insertions(+), 6 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/isis/blob/1ca9c59d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
> ----------------------------------------------------------------------
> diff --git
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
> index 8386fa4..ff5b913 100644
> ---
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
> +++
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
> @@ -22,14 +22,16 @@ package
> org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset;
>  import
> de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
>
>  import java.util.concurrent.Callable;
> +import org.apache.wicket.RestartResponseAtInterceptPageException;
>  import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.string.StringValue;
>  import org.apache.wicket.util.string.Strings;
>  import org.apache.isis.applib.services.userreg.UserRegistrationService;
>  import org.apache.isis.core.runtime.system.context.IsisContext;
>  import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
> -import
> org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountManagementPageAbstract;
>  import
> org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountConfirmationMap;
> +import
> org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountManagementPageAbstract;
> +import org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage;
>
>  /**
>   * A page used for resetting the password of an user.
> @@ -46,6 +48,11 @@ public class PasswordResetPage extends
> AccountManagementPageAbstract {
>
>      private PasswordResetPage(final PageParameters parameters,
> ExceptionModel exceptionModel) {
>          super(parameters, exceptionModel);
> +
> +        boolean suppressPasswordResetLink =
> getConfiguration().getBoolean(WicketSignInPage.ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET,
> false);
> +        if(suppressPasswordResetLink) {
> +            throw new
> RestartResponseAtInterceptPageException(WicketSignInPage.class);
>

This should use PageClassRegistry.get(PageType.SIGN_IN) instead, to allow
usage of custom sign in page impls.


> +        }
>      }
>
>      @Override
>
>
> http://git-wip-us.apache.org/repos/asf/isis/blob/1ca9c59d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
> ----------------------------------------------------------------------
> diff --git
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
> index 6fd5338..242febe 100644
> ---
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
> +++
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
> @@ -19,9 +19,11 @@
>
>  package org.apache.isis.viewer.wicket.ui.pages.accmngt.signup;
>
> +import org.apache.wicket.RestartResponseAtInterceptPageException;
>  import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
>  import
> org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountManagementPageAbstract;
> +import org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage;
>
>  /**
>   * A page for self-registering a new user after confirmation of her email
> account.
> @@ -36,6 +38,12 @@ public class RegistrationFormPage extends
> AccountManagementPageAbstract {
>
>      private RegistrationFormPage(final PageParameters parameters,
> ExceptionModel exceptionModel) {
>          super(parameters, exceptionModel);
> +
> +        boolean suppressSignUp =
> getConfiguration().getBoolean(WicketSignInPage.ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP,
> false);
> +        if(suppressSignUp) {
> +            throw new
> RestartResponseAtInterceptPageException(WicketSignInPage.class);
>

ditto


> +        }
> +
>      }
>
>      @Override
>
>
> http://git-wip-us.apache.org/repos/asf/isis/blob/1ca9c59d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
> ----------------------------------------------------------------------
> diff --git
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
> index 9e0e5b3..b0de663 100644
> ---
> a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
> +++
> b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
> @@ -30,9 +30,14 @@ import
> org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountManagementPageAbstr
>   * Boilerplate, pick up our HTML and CSS.
>   */
>  public class WicketSignInPage extends AccountManagementPageAbstract {
> -
> +
>      private static final long serialVersionUID = 1L;
>
> +    public static final String ISIS_VIEWER_WICKET_SUPPRESS_REMEMBER_ME =
> "isis.viewer.wicket.suppressRememberMe";
> +    public static final String ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP =
> "isis.viewer.wicket.suppressSignUp";
> +    public static final String ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET
> = "isis.viewer.wicket.suppressPasswordReset";
> +    public static final String
> ISIS_VIEWER_WICKET_CLEAR_ORIGINAL_DESTINATION =
> "isis.viewer.wicket.clearOriginalDestination";
> +
>      public WicketSignInPage(final PageParameters parameters) {
>          this(parameters, getAndClearExceptionModelIfAny());
>      }
> @@ -65,10 +70,10 @@ public class WicketSignInPage extends
> AccountManagementPageAbstract {
>      }
>
>      protected SignInPanel addSignInPanel() {
> -        final boolean suppressRememberMe =
> getConfiguration().getBoolean("isis.viewer.wicket.suppressRememberMe",
> false);
> -        final boolean suppressSignUpLink =
> getConfiguration().getBoolean("isis.viewer.wicket.suppressSignUp", false);
> -        final boolean suppressPasswordResetLink =
> getConfiguration().getBoolean("isis.viewer.wicket.suppressPasswordReset",
> false);
> -        final boolean clearOriginalDestination =
> getConfiguration().getBoolean("isis.viewer.wicket.clearOriginalDestination",
> false);
> +        final boolean suppressRememberMe =
> getConfiguration().getBoolean(ISIS_VIEWER_WICKET_SUPPRESS_REMEMBER_ME,
> false);
> +        final boolean suppressSignUpLink =
> getConfiguration().getBoolean(ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP, false);
> +        final boolean suppressPasswordResetLink =
> getConfiguration().getBoolean(ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET,
> false);
> +        final boolean clearOriginalDestination =
> getConfiguration().getBoolean(ISIS_VIEWER_WICKET_CLEAR_ORIGINAL_DESTINATION,
> false);
>          final boolean rememberMe = !suppressRememberMe;
>          final boolean signUpLink = !suppressSignUpLink;
>          final boolean passwordReset = !suppressPasswordResetLink;
>
>

Reply via email to