[jboss-svn-commits] JBL Code SVN: r33518 - in labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main: java/org/jboss/labs/sbs/plugin/nukesauth/struts and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 16 07:22:37 EDT 2010


Author: lkrzyzanek
Date: 2010-06-16 07:22:37 -0400 (Wed, 16 Jun 2010)
New Revision: 33518

Added:
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account-success.ftl
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl
Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties
Log:
ORG-606 - added master account + duplicate account synchronization.

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java	2010-06-16 08:09:08 UTC (rev 33517)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java	2010-06-16 11:22:37 UTC (rev 33518)
@@ -43,6 +43,7 @@
 import com.jivesoftware.base.User;
 import com.jivesoftware.base.UserManager;
 import com.jivesoftware.base.UserNotFoundException;
+import com.jivesoftware.community.JiveConstants;
 import com.jivesoftware.community.aaa.JiveAuthenticationProcessingFilter;
 
 /**
@@ -62,6 +63,8 @@
 
   public static final String CHOOSE_MASTER_ACCOUNT_URL = "/account/choose-master-account.jspa";
 
+  public static final String MASTER_ACCOUNT_UPDATE_URL = "/account/update-master-account.jspa";
+
   public static final String DUPLICATE_ACCOUNT_URL = "/account/duplicate-account.jspa";
 
   @Override
@@ -132,8 +135,16 @@
 
           if (nukesAccounts.size() > 1) {
             log.info("One SBS account, dulicate nukes accounts");
+            // must be called before set Duplicate accounts, because we need to
+            // update only master account.
+            nukesAccountManager.updateNukesAccount(user);
+
             sbsAccountManager.setDuplicateAccounts(user, nukesAccounts);
-            nukesAccountManager.updateNukesAccount(user, nukesAccounts);
+
+            log.debug("Redirect to: " + MASTER_ACCOUNT_UPDATE_URL);
+            httpRequest.getSession().setAttribute(JiveConstants.REFERER_KEY, MASTER_ACCOUNT_UPDATE_URL);
+            chain.doFilter(request, response);
+            return;
           } else {
             log.info("One SBS account, one nukes account");
             nukesAccountManager.updateNukesAccount(user);

Added: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java	2010-06-16 11:22:37 UTC (rev 33518)
@@ -0,0 +1,101 @@
+/*
+ * JBoss Community http://jboss.org/
+ *
+ * Copyright (c) 2010 Red Hat Middleware, LLC. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT A WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License, v.2.1 along with this distribution; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ * Red Hat Author(s): Libor Krzyzanek
+ */
+package org.jboss.labs.sbs.plugin.nukesauth.struts;
+
+import java.util.List;
+
+import org.jboss.labs.sbs.plugin.nukesauth.NukesAccountManager;
+import org.jboss.labs.sbs.plugin.nukesauth.SbsAccountManager;
+import org.jboss.labs.sbs.plugin.nukesauth.dao.NukesUser;
+
+import com.jivesoftware.community.action.JiveActionSupport;
+import com.jivesoftware.community.web.struts.SetReferer;
+import com.opensymphony.xwork2.Preparable;
+
+/**
+ * Action for updating The Master Account when user tries to login via not
+ * synchronized Master account and has more than one nukes accounts
+ * 
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ */
+ at SetReferer(false)
+public class UpdateMasterAccountAction extends JiveActionSupport implements Preparable {
+
+  private List<NukesUser> duplicateAccounts;
+
+  private NukesUser masterAccountDetails;
+
+  private NukesAccountManager nukesAccountManager;
+
+  private SbsAccountManager sbsAccountManager;
+
+  @Override
+  public void prepare() throws Exception {
+    if (isGuest()) {
+      throw new com.jivesoftware.base.UnauthorizedException("User must be authorized");
+    }
+    duplicateAccounts = nukesAccountManager.getNukesAccountsByEmail(getUser().getEmail());
+  }
+
+  @Override
+  public String execute() {
+    if (isGuest()) {
+      return UNAUTHENTICATED;
+    }
+    log.debug("Update Master account from Duplicate account details.");
+
+    return SUCCESS;
+  }
+
+  public String accountUpdated() {
+    if (isGuest()) {
+      return UNAUTHENTICATED;
+    }
+
+    return "accountUpdated";
+  }
+
+  public List<NukesUser> getDuplicateAccounts() {
+    return duplicateAccounts;
+  }
+
+  public void setDuplicateAccounts(List<NukesUser> duplicateAccounts) {
+    this.duplicateAccounts = duplicateAccounts;
+  }
+
+  public void setNukesAccountManager(NukesAccountManager nukesAccountManager) {
+    this.nukesAccountManager = nukesAccountManager;
+  }
+
+  public void setSbsAccountManager(SbsAccountManager sbsAccountManager) {
+    this.sbsAccountManager = sbsAccountManager;
+  }
+
+  public void setMasterAccountDetails(NukesUser masterAccountDetails) {
+    this.masterAccountDetails = masterAccountDetails;
+  }
+
+  public NukesUser getMasterAccountDetails() {
+    return masterAccountDetails;
+  }
+
+}


Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account-success.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account-success.ftl	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account-success.ftl	2010-06-16 11:22:37 UTC (rev 33518)
@@ -0,0 +1,37 @@
+<html>
+<head>
+  <#assign title=action.getText('plugin.nukesauth.updateaccount.updated.name') />
+  <title>${title}</title>
+</head>
+<body class="jive-body-formpage">
+    
+<!-- BEGIN header & intro  -->
+<div id="jive-body-intro">
+    <div id="jive-body-intro-content">
+        <h1>${title}</h1>
+    </div>
+</div>
+<!-- END header & intro -->
+<!-- BEGIN main body -->
+<div id="jive-body-main">
+
+    <!-- BEGIN main body column -->
+    <div id="jive-body-maincol-container">
+        <div id="jive-body-maincol">
+    
+        <p><@s.text name="plugin.nukesauth.updateaccount.updated.description" /></p>
+        <p>&nbsp;</p>
+        <p><@s.text name="plugin.nukesauth.updateaccount.updated.moreinfo" />&nbsp;<a href="http://www.jboss.org/help" target="_blank"><@s.text name="plugin.nukesauth.updateaccount.updated.help" /></a></p>
+        <p>&nbsp;</p>
+        <p><a href="/people/${user.username}"><@s.text name="plugin.nukesauth.updateaccount.updated.profile" /></a></p>
+        <p><a href="/index.jspa?showpersonalized=true"><@s.text name="plugin.nukesauth.updateaccount.updated.homepage" /></a></p>
+
+        </div>
+    </div>
+    <!-- END main body column -->
+
+
+</div>
+<!-- END main body -->
+</body>
+</html>

Added: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl	2010-06-16 11:22:37 UTC (rev 33518)
@@ -0,0 +1,96 @@
+<html>
+    <head>
+        <#assign title=action.getText('plugin.nukesauth.updateaccount.name') />
+        <title>${title}</title>
+    </head>
+    <body class="jive-body-formpage">
+    
+<!-- BEGIN header & intro  -->
+<div id="jive-body-intro">
+    <div id="jive-body-intro-content">
+        <h1>${title}</h1>
+    </div>
+</div>
+<!-- END header & intro -->
+<!-- BEGIN main body -->
+<div id="jive-body-main">
+
+    <!-- BEGIN main body column -->
+    <div id="jive-body-maincol-container">
+        <div id="jive-body-maincol">
+    
+        <#include "/template/global/include/form-message.ftl" />
+        
+        <p><@s.text name="plugin.nukesauth.updateaccount.description" /></p>
+        <p>&nbsp;</p>
+        <table cellspacing="2px" cellpadding="2px" border="1px solid gray">
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.username" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="username" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.firstname" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="firstName" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.lastname" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="lastName" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.email" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="email" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.phone" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="profile[4]" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.bio" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="profile[11]" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.url" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="profile[9]" default="-" /></td>
+            </@s.iterator>
+          </tr>
+          <tr>
+            <td><@s.text name="plugin.nukesauth.masteraccount.account.companyname" />:</td>
+            <@s.iterator value="duplicateAccounts">
+            <td><@s.property value="profile[5001]" default="-" /></td>
+            </@s.iterator>
+          </tr>
+        </table>
+        <p>&nbsp;</p>
+        <@s.form theme="simple">
+        <table>
+          <tr><td>&nbsp;</td></tr>
+          <tr><td colspan="2">
+          <@s.submit key="plugin.nukesauth.updateaccount.submit" method="execute"/>
+          &nbsp;&nbsp;
+          <@s.submit key="plugin.nukesauth.updateaccount.cancel" method="cancel"/>
+          </td></tr>
+        </table>
+        </@s.form>
+        
+        </div>
+    </div>
+    <!-- END main body column -->
+
+
+</div>
+<!-- END main body -->
+    </body>
+</html>

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml	2010-06-16 08:09:08 UTC (rev 33517)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml	2010-06-16 11:22:37 UTC (rev 33518)
@@ -27,6 +27,27 @@
       <interceptor-ref name="paramsPrepareParamsStack" />
     </action>
 
+    <action name="update-master-account"
+      class="org.jboss.labs.sbs.plugin.nukesauth.struts.UpdateMasterAccountAction"
+      method="input">
+      <result name="input" type="freemarker">
+        /plugins/nukesauthentication/resources/templates/update-master-account.ftl
+      </result>
+      <result name="success" type="jive-redirect-action">
+        <param name="actionName">master-account-updated</param>
+      </result>
+      <result name="cancel" type="redirect">/</result>
+      <interceptor-ref name="paramsPrepareParamsStack" />
+    </action>
+
+    <action name="master-account-updated"
+      class="org.jboss.labs.sbs.plugin.nukesauth.struts.UpdateMasterAccountAction"
+      method="accountUpdated">
+      <result name="accountUpdated" type="freemarker">
+  /plugins/nukesauthentication/resources/templates/update-master-account-success.ftl
+      </result>
+    </action>
+
     <action name="duplicate-account"
       class="org.jboss.labs.sbs.plugin.nukesauth.struts.DuplicateAccountLoginAction"
       method="input">

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties	2010-06-16 08:09:08 UTC (rev 33517)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties	2010-06-16 11:22:37 UTC (rev 33518)
@@ -23,7 +23,20 @@
 plugin.nukesauth.masteraccount.name.created.description=Account has been successfuly created. Now you can login.
 plugin.nukesauth.masteraccount.name.created.loginlink=Go to Login page
 
+# Update master account
+plugin.nukesauth.updateaccount.name=Update The Master Account
+plugin.nukesauth.updateaccount.description=You have more than one account with same e-mail. These accounts are now signed as duplicate accounts. Please check details of your Master account. If any of your duplicate account has more relevant detail, simply click on radio button beside the detail. Then click on Update button. 
+plugin.nukesauth.updateaccount.submit=Update
+plugin.nukesauth.updateaccount.cancel=Cancel
 
+plugin.nukesauth.updateaccount.updated.name=Master Account updated
+plugin.nukesauth.updateaccount.updated.description=The Master Account has been updated. Now you manage all your accounts via this account on Profile page.
+
+plugin.nukesauth.updateaccount.updated.moreinfo=For more info go to the help pages.
+plugin.nukesauth.updateaccount.updated.help=Help page
+plugin.nukesauth.updateaccount.updated.profile=Go to Profile
+plugin.nukesauth.updateaccount.updated.homepage=Go to Your Homepage
+
 # Login via duplicate account
 plugin.nukesauth.duplicateaccount.name=Duplicate account
 plugin.nukesauth.duplicateaccount.description=You are trying to log in via duplicate account. Please use your master account.



More information about the jboss-svn-commits mailing list