]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/FindCertPage.java
upd: enforce a more strict Form call pattern.
[gigi.git] / src / org / cacert / gigi / pages / admin / support / FindCertPage.java
index fb9d14f748fd991268170d6a6833e21ba14c44d9..e7f6b95e4a4a9558a45f0328f51a7de4394973c6 100644 (file)
@@ -33,13 +33,17 @@ public class FindCertPage extends Page {
         new FindCertForm(req).output(resp.getWriter(), Page.getLanguage(req), new HashMap<String, Object>());
     }
 
+    @Override
+    public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+        return Form.getForm(req, FindCertForm.class).submitExceptionProtected(req, resp);
+    }
+
     @Override
     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
-        FindCertForm form = Form.getForm(req, FindCertForm.class);
-        if (form.submitProtected(resp.getWriter(), req)) {
-            final Certificate[] certs = form.getCerts();
+        if ( !Form.printFormErrors(req, resp.getWriter())) {
+            final Certificate[] certs = ((FindCertForm.FindResult) req.getAttribute(Form.SUBMIT_RESULT)).getCerts();
             if (certs.length == 1) {
-                resp.sendRedirect(Certificates.SUPPORT_PATH + certs[0].getSerial() + "/");
+                resp.sendRedirect(Certificates.SUPPORT_PATH + "/" + certs[0].getSerial());
             } else {
                 HashMap<String, Object> vars = new HashMap<String, Object>();
                 Language l = LoginPage.getLanguage(req);