Author: ronvoe122
Date: 2007-12-16 04:19:38-0800
New Revision: 10501
Removed:
trunk/src/java/org/tigris/scarab/screens/Register.java
trunk/src/test/org/tigris/scarab/actions/RegisterTest.java
Modified:
trunk/src/java/org/tigris/scarab/actions/Register.java
trunk/src/java/org/tigris/scarab/om/ScarabUser.java
trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java
trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm
trunk/src/webapp/WEB-INF/templates/screens/Register.vm
trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm
Log:
Refactored registration of new users.
This should also fix SCB2337.
Modified: trunk/src/java/org/tigris/scarab/actions/Register.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/Register.java?view=diff&rev=10501&p1=trunk/src/java/org/tigris/scarab/actions/Register.java&p2=trunk/src/java/org/tigris/scarab/actions/Register.java&r1=10500&r2=10501
==============================================================================
--- trunk/src/java/org/tigris/scarab/actions/Register.java (original)
+++ trunk/src/java/org/tigris/scarab/actions/Register.java 2007-12-16 04:19:38-0800
@@ -49,18 +49,16 @@
// Turbine Stuff
import java.util.Locale;
-import org.apache.torque.TorqueException;
import org.apache.turbine.RunData;
import org.apache.turbine.TemplateContext;
import org.apache.turbine.Turbine;
import org.apache.turbine.modules.ContextAdapter;
import org.apache.turbine.tool.IntakeTool;
-import org.apache.fulcrum.intake.model.Field;
import org.apache.fulcrum.intake.model.Group;
-// Scarab Stuff
import org.tigris.scarab.om.ScarabUser;
+import org.tigris.scarab.om.ScarabUserManager;
import org.tigris.scarab.tools.ScarabRequestTool;
import org.tigris.scarab.tools.ScarabLocalizationTool;
import org.tigris.scarab.tools.localization.L10NKeySet;
@@ -68,19 +66,8 @@
import org.tigris.scarab.tools.localization.Localizable;
import org.tigris.scarab.util.Email;
import org.tigris.scarab.util.ScarabConstants;
-import org.tigris.scarab.util.Log;
-import org.tigris.scarab.util.ScarabRuntimeException;
import org.tigris.scarab.actions.base.ScarabTemplateAction;
-// FIXME: remove the methods that reference this
-import org.tigris.scarab.om.ScarabUserImpl;
-import org.tigris.scarab.om.ScarabUserImplPeer;
-import org.tigris.scarab.om.ScarabUserManager;
-
-import org.xbill.DNS.Record;
-import org.xbill.DNS.dns;
-import org.xbill.DNS.Type;
-
/**
* This class is responsible for dealing with the Register
* Action.
@@ -91,41 +78,6 @@
public class Register extends ScarabTemplateAction
{
- private boolean checkRFC2505(String email)
- {
- // try just the end portion of the domain
- String domain = parseDomain(email);
- if (domain != null)
- {
- // try to find any A records for the domain
- Record[] records = dns.getRecords(domain, Type.A);
- if (records != null || records.length > 0)
- {
- return true;
- }
- // now try just the domain after the @
- // this is for domains like foo.co.uk
- String fullDomain = email.substring(email.indexOf('@')+1);
- records = dns.getRecords(fullDomain, Type.A);
- if (records != null || records.length > 0)
- {
- return true;
- }
- // now try to find any MX records for the domain
- records = dns.getRecords(domain, Type.MX);
- if (records != null || records.length > 0)
- {
- return true;
- }
- // now try to find any MX records for the fullDomain
- records = dns.getRecords(fullDomain, Type.MX);
- if (records != null || records.length > 0)
- {
- return true;
- }
- }
- return false;
- }
/**
* This manages clicking the "Register" button in the Register.vm
@@ -139,176 +91,88 @@
String nextTemplate = getNextTemplate(data, template);
IntakeTool intake = getIntakeTool(context);
- if (intake.isAllValid())
- {
- ScarabRequestTool scarabR = getScarabRequestTool(context);
- Object user = data
- .getUser()
- .getTemp(ScarabConstants.SESSION_REGISTER);
- Group register = null;
- if (user != null && user instanceof ScarabUser)
- {
- register = intake.get("Register",
- ((ScarabUser)user).getQueryKey(), false);
- }
- else
- {
- register = intake.get("Register",
- IntakeTool.DEFAULT_KEY, false);
- }
-
- // not quite sure why this happens, but it does, so case
- // for it and deal with it.
- if (register == null)
- {
- setTarget(data,"Register.vm");
- scarabR.setAlertMessage(L10NKeySet.RegisterSessionError);
- return;
- }
-
- String password = register.get("Password").toString();
- String passwordConfirm = register.get("PasswordConfirm").toString();
-
- // check to make sure the passwords match
- if (!password.equals(passwordConfirm))
- {
- setTarget(data, template);
- scarabR.setAlertMessage(L10NKeySet.PasswordsDoNotMatch);
- return;
- }
+ if(!intake.isAllValid())
+ return;
+
+ ScarabRequestTool scarabR = getScarabRequestTool(context);
- // get an anonymous user
- ScarabUser su = ScarabUserManager.getAnonymousUser();
- try
- {
- register.setProperties(su);
- }
- catch (Exception e)
- {
- setTarget(data, template);
- Localizable msg = new L10NMessage(L10NKeySet.ExceptionGeneric,e);
- scarabR.setAlertMessage(msg);
- return;
- }
+ Group register = intake.get("Register", IntakeTool.DEFAULT_KEY, false);
- String email = su.getEmail();
- if (email == null)
- {
- setTarget(data,"Register.vm");
- scarabR.setAlertMessage(L10NKeySet.EnterValidEmailAddress);
- return;
- }
+ String password = register.get("Password").toString();
+ String passwordConfirm = register.get("PasswordConfirm").toString();
- // check to see if the email is a valid domain (has A records)
- if (Turbine.getConfiguration()
- .getBoolean("scarab.register.email.checkRFC2505", false))
- {
- if (!checkRFC2505(email))
- {
- setTarget(data, template);
- Localizable msg = new L10NMessage(L10NKeySet.EmailHasBadDNS,email);
- scarabR.setAlertMessage(msg);
- return;
- }
- }
- String[] badEmails = Turbine
- .getConfiguration()
- .getStringArray("scarab.register.email.badEmails");
- if (badEmails != null && badEmails.length > 0)
- {
- for (int i=0;i<badEmails.length;i++)
- {
- if (email.equalsIgnoreCase(badEmails[i]))
- {
- setTarget(data, template);
- Localizable msg = new L10NMessage(L10NKeySet.InvalidEmailAddress,email);
- scarabR.setAlertMessage(msg);
- return;
- }
- }
- }
-
- // check to see if the user already exists and is not DELETED
- if (ScarabUserImplPeer.checkExists(su))
- {
- String username = su.getUserName();
- ScarabUser scarabUser=ScarabUserManager.getInstance(username);
- String cs = scarabUser.getConfirmed();
- if(!cs.equals(ScarabUser.DELETED))
- {
- setTarget(data, template);
- scarabR.setAlertMessage(L10NKeySet.UsernameExistsAlready);
- return;
- }
- }
+ if (!password.equals(passwordConfirm))
+ {
+ setTarget(data, template);
+ scarabR.setAlertMessage(L10NKeySet.PasswordsDoNotMatch);
+ return;
+ }
- // put the user object into the context so that it can be
- // used on the nextTemplate
- data.getUser().setTemp(ScarabConstants.SESSION_REGISTER, su);
- setTarget(data, nextTemplate);
+ ScarabUser su = ScarabUserManager.getInstance();
+ register.setProperties(su);
+
+ if(!su.hasValidEmailAddress())
+ {
+ setTarget(data,template);
+ scarabR.setAlertMessage(L10NKeySet.EnterValidEmailAddress);
+ return;
+ }
+
+ ScarabUser existingUser=ScarabUserManager.getInstance(su.getUserName());
+ if (existingUser!=null)
+ {
+ setTarget(data, template);
+ scarabR.setAlertMessage(L10NKeySet.UsernameExistsAlready);
+ return;
}
+
+ data.getUser().setTemp(ScarabConstants.SESSION_REGISTER, su);
+ setTarget(data, nextTemplate);
}
public void doConfirmregistration(RunData data, TemplateContext context)
throws Exception
{
- String template = getCurrentTemplate(data);
String nextTemplate = getNextTemplate(data);
ScarabRequestTool scarabR = getScarabRequestTool(context);
+
+ ScarabUser su = (ScarabUser) data.getUser()
+ .getTemp(ScarabConstants.SESSION_REGISTER);
+ if (su == null)
+ {
+ setTarget(data, "Register.vm");
+ return;
+ }
+
try
{
- // pull the user object from the session
- ScarabUser su = (ScarabUser) data.getUser()
- .getTemp(ScarabConstants.SESSION_REGISTER);
+ su.createNewUser();
+ }
+ catch (org.apache.fulcrum.security.util.EntityExistsException e)
+ {
+ su = ScarabUserManager.reactivateUserIfDeleted(su);
if (su == null)
{
- // assign the template to the cancel template, not the
- // current template
- template = getCancelTemplate(data, "Register.vm");
- throw new ScarabRuntimeException(L10NKeySet.UserObjectNotInSession);
- }
-
- try
- {
- // attempt to create a new user!
- su.createNewUser();
- }
- catch (org.apache.fulcrum.security.util.EntityExistsException e)
- {
-
- // The user already exists. Maybe he is DELETED ?
- su = ScarabUserManager.reactivateUserIfDeleted(su);
- if (su == null)
+ ScarabUser existingUser = ScarabUserManager.getInstance(su.getUserName());
+ if(existingUser.isConfirmed())
{
- Localizable msg = new L10NMessage(L10NKeySet.ExceptionGeneric,e);
+ Localizable msg = new L10NMessage(L10NKeySet.UsernameExistsAlready);
scarabR.setAlertMessage(msg);
- setTarget(data, "Confirm.vm");
+ setTarget(data, "Login.vm");
return;
}
+ else
+ {
+ su = existingUser;
+ }
}
+ }
+ data.getUser().setTemp(ScarabConstants.SESSION_REGISTER, null);
- // grab the ScarabRequestTool object so that we can populate the
- // User object for redisplay of the form data on the screen
- if (scarabR != null)
- {
- scarabR.setUser(su);
- }
-
- // send an email that is for confirming the registration
- sendConfirmationEmail(su, context);
+ sendConfirmationEmail(su, context);
- // set the next template on success
- setTarget(data, nextTemplate);
- }
- catch (Exception e)
- {
- setTarget(data, template);
- Localizable msg = new L10NMessage(L10NKeySet.ExceptionGeneric,e);
- scarabR.setAlertMessage(msg);
- Log.get().error(e);
- return;
- }
+ setTarget(data, nextTemplate);
}
/**
@@ -317,14 +181,10 @@
public void doBack(RunData data, TemplateContext context)
throws Exception
{
- // set the template to the template that we should be going back to
setTarget(data, data.getParameters().getString(
ScarabConstants.CANCEL_TEMPLATE, "Register.vm"));
}
- /**
- * calls doRegisterConfirm()
- */
public void doPerform(RunData data, TemplateContext context)
throws Exception
{
@@ -343,82 +203,35 @@
String nextTemplate = getNextTemplate(data, template);
IntakeTool intake = getIntakeTool(context);
- if (intake.isAllValid())
- {
- ScarabRequestTool scarabR = getScarabRequestTool(context);
- Object user = data
- .getUser()
- .getTemp(ScarabConstants.SESSION_REGISTER);
- Group register = null;
- if (user != null && user instanceof ScarabUser)
- {
- register = intake.get("Register",
- ((ScarabUser)user).getQueryKey(), false);
- }
- else
- {
- register = intake.get("Register",
- IntakeTool.DEFAULT_KEY, false);
- }
+ if(!intake.isAllValid())
+ return;
+
+ ScarabRequestTool scarabR = getScarabRequestTool(context);
- if (register == null)
- {
- // This is often triggered by self-host issue SCB825.
- scarabR.setAlertMessage(L10NKeySet.RegisterGroupIsNullError);
- String msg = "Register group is null: user="
- + (user != null && user instanceof ScarabUser ?
- ((ScarabUser) user).getQueryKey() : "[none]")
- + " IntakeTool.DEFAULT_KEY=" + IntakeTool.DEFAULT_KEY;
- Log.get().warn(msg);
- return;
- }
- String username = null;
- String confirm = null;
- Field usernameField = register.get("UserName");
- Field confirmField = register.get("Confirm");
- if (usernameField == null)
- {
- scarabR.setAlertMessage(L10NKeySet.UsernameGroupIsNullError);
- return;
- }
- else if (confirmField == null)
- {
- scarabR.setAlertMessage(L10NKeySet.ConfirmFieldIsNullError);
- return;
- }
- username = usernameField.toString();
- confirm = confirmField.toString();
+ Group register = intake.get("Register", IntakeTool.DEFAULT_KEY, false);
+
+
+ String username = register.get("UserName").toString();
+ String confirm = register.get("Confirm").toString();
+
+ ScarabUser u = ScarabUserManager.getInstance(username);
- // This reference to ScarabUserImpl is ok because this action
- // is specific to use with that implementation.
- if (ScarabUserImpl.checkConfirmationCode(username, confirm))
+ if (u.isConfirmed())
+ {
+ scarabR.setAlertMessage(L10NKeySet.AccountConfirmedSuccess);
+ setTarget(data, nextTemplate);
+ }
+ else
+ {
+ if (u.confirm(confirm))
{
- // update the database to confirm the user
- if(ScarabUserImpl.confirmUser(username))
- {
- // NO PROBLEMS! :-)
- ScarabUser confirmedUser = ScarabUserManager.getInstance(username);
- // we set this to false and make people login again
- // because of this issue:
- // http://scarab.tigris.org/issues/show_bug.cgi?id=115
- // there may be a better way, but given that on the confirm
- // screen, we aren't asking for a password and checkConfirmationCode
- // will return true if someone is already confirmed,
- // we need to do this for security purposes.
- confirmedUser.setHasLoggedIn(Boolean.FALSE);
- data.setUser(confirmedUser);
- data.save();
-
- scarabR.setConfirmMessage(L10NKeySet.AccountConfirmedSuccess);
- setTarget(data, nextTemplate);
- }
- else
- {
- scarabR.setAlertMessage(L10NKeySet.AccountConfirmedFailure);
- setTarget(data, template);
- }
+ u.save();
+ data.getUser().setTemp(ScarabConstants.SESSION_REGISTER, null);
+
+ scarabR.setConfirmMessage(L10NKeySet.AccountConfirmedSuccess);
+ setTarget(data, nextTemplate);
}
- else // we don't have confirmation! :-(
+ else
{
scarabR.setAlertMessage(L10NKeySet.InvalidConfirmationCode);
setTarget(data, template);
@@ -433,98 +246,36 @@
public void doResendconfirmationcode(RunData data, TemplateContext context)
throws Exception
{
- String template = getCurrentTemplate(data, null);
ScarabRequestTool scarabR = getScarabRequestTool(context);
-
- try
- {
- Object user = data
- .getUser()
- .getTemp(ScarabConstants.SESSION_REGISTER);
- IntakeTool intake = getIntakeTool(context);
- Group register = null;
- if (user != null && user instanceof ScarabUser)
- {
- register = intake.get("Register",
- ((ScarabUser)user).getQueryKey(), false);
- }
- else
- {
- register = intake.get("Register",
- IntakeTool.DEFAULT_KEY, false);
- }
-
- if (register == null)
- {
- scarabR.setAlertMessage(L10NKeySet.RegisterGroupIsNullError);
- return;
- }
- String username = register.get("UserName").toString();
- try
- {
- user = ScarabUserManager.getInstance(username);
-
- }
- catch (TorqueException e)
- {
- scarabR.setAlertMessage(L10NKeySet.InvalidUsername);
- return;
- }
-
- // grab the ScarabRequestTool object so that we can
- // populate the User object for redisplay of the form
- // data on the screen
- if (scarabR != null)
- {
- scarabR.setUser((ScarabUser) user);
- }
-
- // send an email that is for confirming the registration
- sendConfirmationEmail((ScarabUser) user, context);
- scarabR.setConfirmMessage(L10NKeySet.ConfirmationCodeSent);
-
- // set the next template on success
- data.getUser().setTemp(ScarabConstants.SESSION_REGISTER, user);
- intake.remove(register);
+ IntakeTool intake = getIntakeTool(context);
+ Group register = intake.get("Register", IntakeTool.DEFAULT_KEY, false);
+
+ String username = register.get("UserName").toString();
+ ScarabUser user = ScarabUserManager.getInstance(username);
- setTarget(data, "Confirm.vm");
- }
- catch (Exception e)
+ if(user==null)
{
+ String template = getCurrentTemplate(data, null);
+ scarabR.setAlertMessage(L10NKeySet.InvalidUsername);
setTarget(data, template);
- Localizable msg = new L10NMessage(L10NKeySet.ExceptionGeneric,e);
- scarabR.setAlertMessage(msg);
- Log.get().error(e);
return;
}
- }
-
- /**
- * For an email address like <code>[email protected]</code>, parse
- * and return the TLD <code>bar.com</code>.
- */
- String parseDomain(String email)
- {
- String result = null;
- char[] emailChars = email.toCharArray();
- int dotCount = 0;
- for (int i = emailChars.length - 1; i >= 0; i--)
+
+ if(user.isConfirmed())
{
- if (emailChars[i] == '.')
- {
- dotCount++;
- }
- if (dotCount == 2 || emailChars[i] == '@')
- {
- result = new String(emailChars, i + 1,
- emailChars.length - (i + 1));
- break;
- }
+ String template = getCurrentTemplate(data, null);
+ scarabR.setAlertMessage(L10NKeySet.AccountConfirmedSuccess);
+ setTarget(data, template);
+ return;
}
- return result;
+
+ sendConfirmationEmail(user, context);
+ scarabR.setConfirmMessage(L10NKeySet.ConfirmationCodeSent);
+
+ setTarget(data, "Confirm.vm");
}
-
+
/**
* Send the confirmation code to the given user.
*/
@@ -533,7 +284,6 @@
{
Email te = new Email();
- // Retrieve the charset to be used for the Email.
ScarabLocalizationTool l10n = getLocalizationTool(context);
Locale locale = l10n.getPrimaryLocale();
String charset = Email.getCharset(locale);
Modified: trunk/src/java/org/tigris/scarab/om/ScarabUser.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ScarabUser.java?view=diff&rev=10501&p1=trunk/src/java/org/tigris/scarab/om/ScarabUser.java&p2=trunk/src/java/org/tigris/scarab/om/ScarabUser.java&r1=10500&r2=10501
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ScarabUser.java (original)
+++ trunk/src/java/org/tigris/scarab/om/ScarabUser.java 2007-12-16 04:19:38-0800
@@ -548,4 +548,10 @@
public boolean hasRoleInModule(Role role, Module module);
+ public boolean confirm(String code);
+
+ boolean hasValidEmailAddress();
+
+ boolean isDeleted();
+
}
Modified: trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java?view=diff&rev=10501&p1=trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java&p2=trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java&r1=10500&r2=10501
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java (original)
+++ trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java 2007-12-16 04:19:38-0800
@@ -59,6 +59,9 @@
import java.util.Set;
import java.util.TreeSet;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+
import org.apache.commons.lang.RandomStringUtils;
import org.apache.fulcrum.security.TurbineSecurity;
import org.apache.fulcrum.security.entity.Group;
@@ -81,6 +84,9 @@
import org.tigris.scarab.services.security.ScarabSecurity;
import org.tigris.scarab.util.Log;
import org.tigris.scarab.util.ScarabException;
+import org.xbill.DNS.Record;
+import org.xbill.DNS.Type;
+import org.xbill.DNS.dns;
import com.workingdogs.village.DataSetException;
@@ -258,68 +264,30 @@
* Utility method that takes a username and a confirmation code
* and will return true if there is a match and false if no match.
* <p>
- * If there is an Exception, it will also return false.
*/
- public static boolean checkConfirmationCode (String username,
- String confirm)
+ public boolean confirm (String code)
{
- // security check. :-)
- if (confirm.equalsIgnoreCase(User.CONFIRM_DATA))
+ if (code.equalsIgnoreCase(User.CONFIRM_DATA) || !getConfirmed().equals(code) )
{
return false;
}
-
- try
- {
- Criteria criteria = new Criteria();
- criteria.add (ScarabUserImplPeer.getColumnName(User.USERNAME),
- username);
- criteria.add (ScarabUserImplPeer.getColumnName(User.CONFIRM_VALUE),
- confirm);
- criteria.setSingleRecord(true);
- List result = ScarabUserImplPeer.doSelect(criteria);
- if (result.size() > 0)
- {
- return true;
- }
-
- // FIXME: once i figure out how to build an OR in a Criteria i
- // won't need this.
- // We check to see if the user is already confirmed because that
- // should result in a True as well.
- criteria = new Criteria();
- criteria.add (ScarabUserImplPeer.getColumnName(User.USERNAME),
- username);
- criteria.add (ScarabUserImplPeer.getColumnName(User.CONFIRM_VALUE),
- User.CONFIRM_DATA);
- criteria.setSingleRecord(true);
- result = ScarabUserImplPeer.doSelect(criteria);
- return (result.size() > 0);
- }
- catch (Exception e)
+ else
{
- return false;
+ setConfirmed(User.CONFIRM_DATA);
+ return true;
}
}
/**
This method will mark username as confirmed.
- returns true on success and false on any error
*/
- public static boolean confirmUser (String username)
+ public static void confirmUser (String username)
+ throws Exception
{
- try
- {
- User user = ScarabUserManager.getInstance(username);
- user.setConfirmed(User.CONFIRM_DATA);
- TurbineSecurity.saveUser(user);
- ScarabUserManager.getMethodResult().remove( ScarabUserManager.SCARAB_USER_MANAGER, ScarabUserManager.GET_INSTANCE, username );
- return true;
- }
- catch (Exception e)
- {
- return false;
- }
+ User user = ScarabUserManager.getInstance(username);
+ user.setConfirmed(User.CONFIRM_DATA);
+ TurbineSecurity.saveUser(user);
+ ScarabUserManager.getMethodResult().remove( ScarabUserManager.SCARAB_USER_MANAGER, ScarabUserManager.GET_INSTANCE, username );
}
/**
@@ -1210,4 +1178,74 @@
}
return bRdo;
}
+
+ public boolean hasValidEmailAddress()
+ {
+ String email = getEmail();
+
+ if(email==null)
+ return false;
+
+ try
+ {
+ new InternetAddress(email);
+ }
+ catch( AddressException e)
+ {
+ return false;
+ }
+
+
+ boolean checkRFC2505 = Turbine.getConfiguration()
+ .getBoolean("scarab.register.email.checkRFC2505", false);
+ if (checkRFC2505 && !checkRFC2505(email))
+ return false;
+
+ String[] badEmails = Turbine.getConfiguration()
+ .getStringArray("scarab.register.email.badEmails");
+ if (badEmails != null)
+ for (int i=0;i<badEmails.length;i++)
+ if (email.equalsIgnoreCase(badEmails[i]))
+ return false;
+
+ return true;
+ }
+
+ private boolean checkRFC2505(String email)
+ {
+ String fullDomain = email.substring(email.indexOf('@')+1);
+ String domain;
+
+ if(fullDomain.contains("."))
+ {
+ String[] domainParts = fullDomain.split(".");
+ domain = domainParts[domainParts.length-2];
+ }
+ else
+ {
+ domain = fullDomain;
+ }
+
+
+ Record[] records = dns.getRecords(domain, Type.A);
+ if (records != null || records.length > 0)
+ return true;
+ records = dns.getRecords(fullDomain, Type.A);
+ if (records != null || records.length > 0)
+ return true;
+ records = dns.getRecords(domain, Type.MX);
+ if (records != null || records.length > 0)
+ return true;
+ records = dns.getRecords(fullDomain, Type.MX);
+ if (records != null || records.length > 0)
+ return true;
+
+ return false;
+ }
+
+ public boolean isDeleted()
+ {
+ return ScarabUser.DELETED.equals(getConfirmed());
+ }
+
}
Removed: trunk/src/java/org/tigris/scarab/screens/Register.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/screens/Register.java?view=auto&rev=10500
Removed: trunk/src/test/org/tigris/scarab/actions/RegisterTest.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/test/org/tigris/scarab/actions/RegisterTest.java?view=auto&rev=10500
Modified: trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm?view=diff&rev=10501&p1=trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm&p2=trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm&r1=10500&r2=10501
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm (original)
+++ trunk/src/webapp/WEB-INF/templates/screens/Confirm.vm 2007-12-16 04:19:38-0800
@@ -1,33 +1,15 @@
<div class="app" id="confirm">
-## attempt to get the user out of the temp hashtable
-#set ($confirmUser = $data.User.getTemp($scarabG.Constant.SESSION_REGISTER))
-#if ($confirmUser)
- #set ($regGroup = $intake.Register.mapTo($confirmUser))
- #set ($username = $confirmUser.UserName)
-#else
- #set ($regGroup = $intake.Register.Default)
- #set ($username = $data.Parameters.UserName)
- #if (!$username || $emailValue.length() == 0)
- ## coming from the Login page for a non-confirmed user
- #set ($username = $intake.Login.Default.Username)
- #end
+#set ($regGroup = $intake.Register.Default)
+#set ($username = $regGroup.UserName)
+#if ($username.toString().length()==0)
+ ## coming from the Login page for a non-confirmed user
+ #set ($username = $intake.Login.Default.Username)
#end
#set ($confirmValue = $data.Parameters.getString("confirm", ""))
-
-#if (!$data.Message || $data.Message.length() == 0)
-<p>
-$l10n.ThankYouForRegistering
-</p>
-
-<p>
-$l10n.ConfirmationSent
-</p>
-#else
<p>
$l10n.EnterConfirmation
</p>
-#end
<form method="post" action="$link.setPage("Confirm.vm")">
<input type="hidden" name="action" value="Register" />
@@ -41,7 +23,7 @@
<tr>
<th>$l10n.Username</th>
<td>
- <input type="text" size="25" name="$regGroup.UserName.Key" value="$!userNameValue" tabindex="1" />
+ <input type="text" size="25" name="$regGroup.UserName.Key" value="$username" tabindex="1" />
#fieldErrorMsg($regGroup.UserName "")
</td>
</tr>
Modified: trunk/src/webapp/WEB-INF/templates/screens/Register.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/Register.vm?view=diff&rev=10501&p1=trunk/src/webapp/WEB-INF/templates/screens/Register.vm&p2=trunk/src/webapp/WEB-INF/templates/screens/Register.vm&r1=10500&r2=10501
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/Register.vm (original)
+++ trunk/src/webapp/WEB-INF/templates/screens/Register.vm 2007-12-16 04:19:38-0800
@@ -46,14 +46,14 @@
<tr>
<th> * $l10n.Password</th>
<td>
- <input name="$regGroup.Password.Key" type="password" value="$regGroup.Password" size="25" tabindex="5" />
+ <input name="$regGroup.Password.Key" type="password" value="" size="25" tabindex="5" />
#fieldErrorMsg($regGroup.Password "")
</td>
</tr>
<tr>
<th> * $l10n.ConfirmPassword</th>
<td>
- <input name="$regGroup.PasswordConfirm.Key" type="password" value="$regGroup.PasswordConfirm" size="25" tabindex="6" />
+ <input name="$regGroup.PasswordConfirm.Key" type="password" value="" size="25" tabindex="6" />
#fieldErrorMsg($regGroup.PasswordConfirm "")
</td>
</tr>
Modified: trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm?view=diff&rev=10501&p1=trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm&p2=trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm&r1=10500&r2=10501
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm (original)
+++ trunk/src/webapp/WEB-INF/templates/screens/RegisterConfirm.vm 2007-12-16 04:19:38-0800
@@ -1,14 +1,6 @@
<div id="registerconfirm" class="app">
-## get the user out of the temp hashtable
-#set ($user = $data.User.getTemp($scarabG.Constant.SESSION_REGISTER))
-#if (!$user.FirstName)
-
-<p class="warningmark"><strong>
-$l10n.ErrorLocatingInfo $link.setPage("Register.vm").setLabel("Registration") $l10n.ErrorLocatingInfo2</strong>
-</p>
-
-#else
+#set ($regGroup = $intake.Register.Default)
<p>
$l10n.ConfirmAccuracy
@@ -20,20 +12,23 @@
<input type="hidden" name="action" value="Register" />
<input type="hidden" name="$scarabG.Constant.NEXT_TEMPLATE" value="Confirm.vm" />
<input type="hidden" name="$scarabG.Constant.CANCEL_TEMPLATE" value="Register.vm" />
-
+<input name="$regGroup.FirstName.Key" value="$regGroup.FirstName" type="hidden" />
+<input name="$regGroup.LastName.Key" value="$regGroup.LastName" type="hidden" />
+<input name="$regGroup.Email.Key" value="$regGroup.Email" type="hidden" />
+<input name="$regGroup.UserName.Key" value="$regGroup.UserName" type="hidden" />
<div class="axial">
<table cellpadding="3" cellspacing="2" border="0">
<tr>
<th>$l10n.FullName</th>
- <td>$user.Name</td>
+ <td>$regGroup.FirstName $regGroup.LastName</td>
</tr>
<tr>
<th>$l10n.Email</th>
- <td>$user.Email</td>
+ <td>$regGroup.Email</td>
</tr>
<tr>
<th>$l10n.Username</th>
- <td>$user.UserName</td>
+ <td>$regGroup.UserName</td>
</tr>
</table>
</div>
@@ -42,7 +37,7 @@
<input type="submit" name="eventSubmit_doBack" value="$l10n.Back" /> 
<input type="submit" name="eventSubmit_doConfirmRegistration" value="$l10n.Confirm" />
</div>
+$intake.declareGroups()
</form>
-#end
</div>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.