[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> </p>
+ <p><@s.text name="plugin.nukesauth.updateaccount.updated.moreinfo" /> <a href="http://www.jboss.org/help" target="_blank"><@s.text name="plugin.nukesauth.updateaccount.updated.help" /></a></p>
+ <p> </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> </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> </p>
+ <@s.form theme="simple">
+ <table>
+ <tr><td> </td></tr>
+ <tr><td colspan="2">
+ <@s.submit key="plugin.nukesauth.updateaccount.submit" method="execute"/>
+
+ <@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