X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FAssurePage.java;h=e1822e3beb1dc91cd817fb6de78e7ad710c9562b;hb=b1092da65fd373d945343e01dd8975ec3b84db0a;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..e1822e3b 100644 --- a/src/org/cacert/gigi/pages/wot/AssurePage.java +++ b/src/org/cacert/gigi/pages/wot/AssurePage.java @@ -10,15 +10,15 @@ 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.dbObjects.User; import org.cacert.gigi.output.DateSelector; import org.cacert.gigi.output.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,16 +39,9 @@ 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 @@ -61,15 +54,12 @@ public class AssurePage extends Page { } } - 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,23 +68,12 @@ 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; @@ -116,8 +95,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("
");