X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fcerts%2FCertificates.java;h=23cd915da26b0a7b4dd5daf297af9afbbd526688;hb=bdb770e853028d8510a941c936a290ab69cf675c;hp=4db201cc38fcf4b1be4381283514a84b977dcd1c;hpb=4974563cbde29b9798b7015b1b01982702f3a3d3;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/certs/Certificates.java b/src/org/cacert/gigi/pages/account/certs/Certificates.java index 4db201cc..23cd915d 100644 --- a/src/org/cacert/gigi/pages/account/certs/Certificates.java +++ b/src/org/cacert/gigi/pages/account/certs/Certificates.java @@ -49,6 +49,9 @@ public class Certificates extends Page implements HandlesMixedRequest { @Override public boolean beforeTemplate(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if ("POST".equals(req.getMethod())) { + return beforePost(req, resp); + } String pi = req.getPathInfo().substring(PATH.length()); if (pi.length() == 0) { @@ -98,24 +101,35 @@ public class Certificates extends Page implements HandlesMixedRequest { return true; } + @Override + public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if (support && "revoke".equals(req.getParameter("action"))) { + return Form.getForm(req, RevokeSingleCertForm.class).submitExceptionProtected(req, resp); + } + if ( !req.getPathInfo().equals(PATH)) { + resp.sendError(500); + return true; + } + return Form.getForm(req, CertificateModificationForm.class).submitExceptionProtected(req, resp); + } + @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { if (req.getQueryString() != null && !req.getQueryString().equals("") && !req.getQueryString().equals("withRevoked")) { return;// Block actions by get parameters. } + if (support && "revoke".equals(req.getParameter("action"))) { - if (Form.getForm(req, RevokeSingleCertForm.class).submitProtected(resp.getWriter(), req)) { - resp.sendRedirect(req.getPathInfo()); - return; + if (Form.printFormErrors(req, resp.getWriter())) { + Form.getForm(req, RevokeSingleCertForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); } + return; } if ( !req.getPathInfo().equals(PATH)) { resp.sendError(500); return; } - Form.getForm(req, CertificateModificationForm.class).submit(resp.getWriter(), req); - - doGet(req, resp); + Form.getForm(req, CertificateModificationForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); } @Override