]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/main/Signup.java
UPD: check for duplicate Email in the Email class itself.
[gigi.git] / src / org / cacert / gigi / pages / main / Signup.java
index a512a017ee9e48e886d3e21938549314097e9088..d442ebda36b95b2ad0b1e860a331f71d6e905094 100644 (file)
@@ -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());