X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FAssurePage.java;h=3aa413503f68571ee714844e04834611a800742a;hb=ccccf71df5e25af791078b408eab30e162926868;hp=1dae379c18a7d69cebb9438b6f402e50a016d52d;hpb=943d8e7ed0ea5a9d56e7e694a3cbd849c52bad16;p=gigi.git diff --git a/src/org/cacert/gigi/pages/wot/AssurePage.java b/src/org/cacert/gigi/pages/wot/AssurePage.java index 1dae379c..3aa41350 100644 --- a/src/org/cacert/gigi/pages/wot/AssurePage.java +++ b/src/org/cacert/gigi/pages/wot/AssurePage.java @@ -39,28 +39,28 @@ 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; } } - 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)); + AssuranceResult check = Notary.checkAssuranceIsPossible(myself, form.getAssuree()); if (check != AssuranceResult.ASSURANCE_SUCCEDED) { out.println(translate(req, check.getMessage())); return; } - if (form == null || form.assuree.getId() != mid) { - form = new AssuranceForm(req, mid); - } form.output(out, getLanguage(req), new HashMap()); } @@ -68,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 = LoginPage.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.assuree.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; @@ -106,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, id); + outputForm(req, out, form); } - resp.sendRedirect(PATH + "/" + id); } } else { out.print("
");