summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/p4square/grow')
-rw-r--r--src/com/p4square/grow/frontend/NewAccountResource.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/com/p4square/grow/frontend/NewAccountResource.java b/src/com/p4square/grow/frontend/NewAccountResource.java
index e0b857a..f37a33e 100644
--- a/src/com/p4square/grow/frontend/NewAccountResource.java
+++ b/src/com/p4square/grow/frontend/NewAccountResource.java
@@ -46,10 +46,12 @@ public class NewAccountResource extends FreeMarkerPageResource {
mGrowFrontend = (GrowFrontend) getApplication();
mHelper = mGrowFrontend.getHelper();
- mErrorMessage = null;
+ mErrorMessage = "";
- mLoginPageUrl = "";
- mVerificationPage = "";
+ mLoginPageUrl = mGrowFrontend.getConfig().getString("postAccountCreationPage",
+ getRequest().getRootRef().toString());
+ mVerificationPage = mGrowFrontend.getConfig().getString("dynamicRoot", "")
+ + "/verification.html";
}
/**
@@ -66,7 +68,9 @@ public class NewAccountResource extends FreeMarkerPageResource {
}
Map<String, Object> root = getRootObject();
- root.put("errorMessage", mErrorMessage);
+ if (mErrorMessage.length() > 0) {
+ root.put("errorMessage", mErrorMessage);
+ }
return new TemplateRepresentation(t, root, MediaType.TEXT_HTML);
@@ -100,7 +104,11 @@ public class NewAccountResource extends FreeMarkerPageResource {
}
try {
- mHelper.createAccount(firstname, lastname, email, mLoginPageUrl);
+ if (!mHelper.createAccount(firstname, lastname, email, mLoginPageUrl)) {
+ mErrorMessage = "An account with that address already exists.";
+ return get();
+ }
+
getResponse().redirectSeeOther(mVerificationPage);
return new StringRepresentation("Redirecting to " + mVerificationPage);
@@ -110,6 +118,6 @@ public class NewAccountResource extends FreeMarkerPageResource {
}
private boolean isEmpty(String s) {
- return s != null && s.trim().length() > 0;
+ return s == null || s.trim().length() == 0;
}
}