]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/main/Signup.java
UPD: Move some template classes to there reightful place.
[gigi.git] / src / org / cacert / gigi / pages / main / Signup.java
index a512a017ee9e48e886d3e21938549314097e9088..95cefd1e5a71aab6c5b0d23490a3b166fcf914ad 100644 (file)
@@ -18,7 +18,7 @@ import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.email.EmailProvider;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.DateSelector;
-import org.cacert.gigi.output.Form;
+import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.util.HTMLEncoder;
@@ -93,8 +93,8 @@ public class Signup extends Form {
     @Override
     public synchronized boolean submit(PrintWriter out, HttpServletRequest req) {
         update(req);
-        if (buildup.getFname().equals("") || buildup.getLname().equals("")) {
-            outputError(out, req, "First and/or last names were blank.");
+        if (buildup.getLname().trim().equals("")) {
+            outputError(out, req, "Last name were blank.");
         }
         if ( !myDoB.isValid()) {
             outputError(out, req, "Invalid date of birth");
@@ -119,8 +119,8 @@ public class Signup extends Form {
         if (isFailed(out)) {
             return false;
         }
-        GigiPreparedStatement q1 = DatabaseConnection.getInstance().prepare("select * from `emails` where `email`=? and `deleted`=0");
-        GigiPreparedStatement q2 = DatabaseConnection.getInstance().prepare("select * from `users` where `email`=? and `deleted`=0");
+        GigiPreparedStatement q1 = DatabaseConnection.getInstance().prepare("select * from `emails` where `email`=? and `deleted` IS NULL");
+        GigiPreparedStatement q2 = DatabaseConnection.getInstance().prepare("select * from certOwners inner join users on users.id=certOwners.id where `email`=? and `deleted` IS NULL");
         q1.setString(1, buildup.getEmail());
         q2.setString(1, buildup.getEmail());
         GigiResultSet r1 = q1.executeQuery();
@@ -164,11 +164,14 @@ public class Signup extends Form {
             run(req, pw1);
         } catch (SQLException e) {
             e.printStackTrace();
+        } catch (GigiApiException e) {
+            outputError(out, req, e.getMessage());
+            return false;
         }
         return true;
     }
 
-    private void run(HttpServletRequest req, String password) throws SQLException {
+    private void run(HttpServletRequest req, String password) throws SQLException, GigiApiException {
         try {
             DatabaseConnection.getInstance().beginTransaction();
             buildup.setPreferredLocale(Page.getLanguage(req).getLocale());