]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/certs/CertificateAdd.java
upd: use a more strict pattern for handling forms
[gigi.git] / src / org / cacert / gigi / pages / account / certs / CertificateAdd.java
index e37b930cd040a835e7baca178f4d490c4115c7f7..eeb3eafb1ab552449d27c0d06115b5d39ab37349 100644 (file)
@@ -28,23 +28,31 @@ public class CertificateAdd extends Page {
     }
 
     @Override
     }
 
     @Override
-    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+    public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         CertificateIssueForm f = Form.getForm(req, CertificateIssueForm.class);
         CertificateIssueForm f = Form.getForm(req, CertificateIssueForm.class);
-        if (f.submit(resp.getWriter(), req)) {
+        if (f.submitExceptionProtected(req)) {
             Certificate c = f.getResult();
             if (c.getStatus() != CertificateStatus.ISSUED) {
                 resp.getWriter().println("Timeout while waiting for certificate.");
             Certificate c = f.getResult();
             if (c.getStatus() != CertificateStatus.ISSUED) {
                 resp.getWriter().println("Timeout while waiting for certificate.");
-                return;
+                return false;
             }
             String ser = c.getSerial();
             if (ser.isEmpty()) {
                 resp.getWriter().println("Timeout while waiting for certificate.");
             }
             String ser = c.getSerial();
             if (ser.isEmpty()) {
                 resp.getWriter().println("Timeout while waiting for certificate.");
-                return;
+                return false;
             }
             resp.sendRedirect(Certificates.PATH + "/" + ser);
             }
             resp.sendRedirect(Certificates.PATH + "/" + ser);
+            return true;
         }
         }
-        f.output(resp.getWriter(), getLanguage(req), Collections.<String, Object>emptyMap());
+        return super.beforePost(req, resp);
+    }
 
 
+    @Override
+    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+        if (Form.printFormErrors(req, resp.getWriter())) {
+            CertificateIssueForm f = Form.getForm(req, CertificateIssueForm.class);
+            f.output(resp.getWriter(), getLanguage(req), Collections.<String, Object>emptyMap());
+        }
     }
 
     @Override
     }
 
     @Override