X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FAssurePage.java;h=cc20c4d7a900b9183856da9c2551b8d3c5d326cf;hb=cd14b85c60f736a643842b421b11f41d8fca86c7;hp=28b3f4e905faf20fc5bd040e5ed15f9ab6f5c73a;hpb=87f2073cfe4ba8ba5b0f33c5b8c2d7a52401e005;p=gigi.git diff --git a/src/org/cacert/gigi/pages/wot/AssurePage.java b/src/org/cacert/gigi/pages/wot/AssurePage.java index 28b3f4e9..cc20c4d7 100644 --- a/src/org/cacert/gigi/pages/wot/AssurePage.java +++ b/src/org/cacert/gigi/pages/wot/AssurePage.java @@ -2,23 +2,22 @@ package org.cacert.gigi.pages.wot; import java.io.IOException; import java.io.PrintWriter; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.User; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.database.GigiPreparedStatement; +import org.cacert.gigi.database.GigiResultSet; +import org.cacert.gigi.dbObjects.User; 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.LoginPage; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.Notary; -import org.cacert.gigi.util.Notary.AssuranceResult; public class AssurePage extends Page { @@ -39,37 +38,22 @@ public class AssurePage extends Page { PrintWriter out = resp.getWriter(); String pi = req.getPathInfo().substring(PATH.length()); - if (pi.length() > 1) { - int mid = Integer.parseInt(pi.substring(1)); - AssuranceForm form = new AssuranceForm(req, mid); - outputForm(req, out, mid, form); - - } else { - HashMap vars = new HashMap(); - vars.put("DoB", ds); - t.output(out, getLanguage(req), vars); - } + HashMap vars = new HashMap(); + vars.put("DoB", ds); + t.output(out, getLanguage(req), vars); } @Override public boolean isPermitted(User u) { - try { - return u != null && u.canAssure(); - } catch (SQLException e) { - e.printStackTrace(); - return false; - } + return u != null && u.canAssure(); } - private void outputForm(HttpServletRequest req, PrintWriter out, int mid, AssuranceForm form) { + private void outputForm(HttpServletRequest req, PrintWriter out, AssuranceForm form) { User myself = LoginPage.getUser(req); - AssuranceResult check = Notary.checkAssuranceIsPossible(myself, new User(mid)); - if (check != AssuranceResult.ASSURANCE_SUCCEDED) { - out.println(translate(req, check.getMessage())); - return; - } - if (form == null || form.getAssuree().getId() != mid) { - form = new AssuranceForm(req, mid); + try { + Notary.checkAssuranceIsPossible(myself, form.getAssuree()); + } catch (GigiApiException e) { + e.format(out, Page.getLanguage(req)); } form.output(out, getLanguage(req), new HashMap()); @@ -78,31 +62,20 @@ public class AssurePage extends Page { @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { PrintWriter out = resp.getWriter(); - String pi = req.getPathInfo().substring(PATH.length()); - if (pi.length() > 1) { - User myself = getUser(req); - int mid = Integer.parseInt(pi.substring(1)); - if (mid == myself.getId()) { - out.println(translate(req, "Cannot assure myself.")); - return; - } - + if (req.getParameter("search") == null) { AssuranceForm form = Form.getForm(req, AssuranceForm.class); - if (mid != form.getAssuree().getId()) { - return; - } if (form.submit(out, req)) { out.println(translate(req, "Assurance complete.")); } else { - outputForm(req, resp.getWriter(), mid, form); + outputForm(req, resp.getWriter(), form); } return; } - ResultSet rs = null; + GigiResultSet rs = null; try { - PreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id, verified FROM users WHERE email=? AND dob=? AND deleted=0"); + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT users.id, verified FROM users inner join certOwners on certOwners.id=users.id WHERE email=? AND dob=? AND deleted is null"); ps.setString(1, req.getParameter("email")); String day = req.getParameter("year") + "-" + req.getParameter("month") + "-" + req.getParameter("day"); ps.setString(2, day); @@ -116,8 +89,12 @@ public class AssurePage extends Page { } else { if (verified == 0) { out.println(translate(req, "User is not yet verified. Please try again in 24 hours!")); + } else if (getUser(req).getId() == id) { + + } else { + AssuranceForm form = new AssuranceForm(req, User.getById(id)); + outputForm(req, out, form); } - resp.sendRedirect(PATH + "/" + id); } } else { out.print("
"); @@ -127,15 +104,9 @@ public class AssurePage extends Page { } rs.close(); - } catch (SQLException e) { - e.printStackTrace(); } finally { - try { - if (rs != null) { - rs.close(); - } - } catch (SQLException e) { - e.printStackTrace(); + if (rs != null) { + rs.close(); } } }