You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/01/07 00:18:37 UTC

[07/50] [abbrv] isis git commit: ISIS-987: only open an IsisSession once to determine whether to render the password reset link and the sign-up link.

ISIS-987: only open an IsisSession once to determine whether to render the password reset link and the sign-up link.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/258c4b89
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/258c4b89
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/258c4b89

Branch: refs/heads/ISIS-970
Commit: 258c4b8939ee7ecca9002db15ddebfd194c5f9b6
Parents: 6c75618
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Jan 5 07:06:57 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Jan 5 07:06:57 2015 +0000

----------------------------------------------------------------------
 .../wicket/ui/pages/login/IsisSignInPanel.java  | 27 ++++++++++++--------
 1 file changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/258c4b89/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
index 8d86355..66e7082 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
@@ -71,45 +71,50 @@ public class IsisSignInPanel extends SignInPanel {
     protected void onInitialize() {
         super.onInitialize();
 
-        addPasswordResetLink("passwdResetLink");
-        addSignUpLink("signUpLink");
+        final Component passwordResetLink = addPasswordResetLink("passwdResetLink");
+        final Component signUpLink = addSignUpLink("signUpLink");
+
+        setVisibilityAllowedBasedOnAvailableServices(signUpLink, passwordResetLink);
 
         addNotificationPanel("feedback");
     }
 
-    private void addPasswordResetLink(final String id) {
-        final Class < ?extends Page> passwordResetPageClass = pageClassRegistry.getPageClass(PageType.PASSWORD_RESET);
+    private BookmarkablePageLink<Void> addPasswordResetLink(final String id) {
+        final Class <? extends Page> passwordResetPageClass = pageClassRegistry.getPageClass(PageType.PASSWORD_RESET);
         final BookmarkablePageLink<Void> passwordResetLink =
                 new BookmarkablePageLink<>(id, passwordResetPageClass);
 
-        setVisibilityAllowedBasedOnAvailableServices(passwordResetLink);
-
-        // in addition, don't show password reset link has been suppressed.
         if(!this.passwordResetLink) {
             passwordResetLink.setVisibilityAllowed(false);
         }
 
         getSignInForm().addOrReplace(passwordResetLink);
+        return passwordResetLink;
     }
 
-    private void addSignUpLink(final String id) {
+    private BookmarkablePageLink<Void> addSignUpLink(final String id) {
         final Class<? extends Page> signUpPageClass = pageClassRegistry.getPageClass(PageType.SIGN_UP);
         final BookmarkablePageLink<Void> signUpLink = new BookmarkablePageLink<>(id, signUpPageClass);
-        setVisibilityAllowedBasedOnAvailableServices(signUpLink);
         getSignInForm().addOrReplace(signUpLink);
+        return signUpLink;
     }
 
     private void addNotificationPanel(final String id) {
         addOrReplace(new NotificationPanel(id));
     }
 
-    private void setVisibilityAllowedBasedOnAvailableServices(final Component component) {
+    private void setVisibilityAllowedBasedOnAvailableServices(final Component... components) {
         IsisContext.doInSession(new Runnable() {
             @Override
             public void run() {
                 final UserRegistrationService userRegistrationService = lookupService(UserRegistrationService.class);
                 final EmailNotificationService emailNotificationService = lookupService(EmailNotificationService.class);
-                component.setVisibilityAllowed(userRegistrationService != null && emailNotificationService.isConfigured());
+                final boolean visibilityAllowed = userRegistrationService != null && emailNotificationService.isConfigured();
+                for (final Component component: components) {
+                    if(component.isVisibilityAllowed()) {
+                        component.setVisibilityAllowed(visibilityAllowed);
+                    }
+                }
             }
         });
     }