]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/wot/AssurePage.java
upd: enforce a more strict Form call pattern.
[gigi.git] / src / org / cacert / gigi / pages / wot / AssurePage.java
index 4603e8436263e12634f697dbeed91acda975d834..8ce8f72b4dd7c1f1ab5262c113785a7ad9fc4847 100644 (file)
@@ -14,10 +14,8 @@ import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.output.DateSelector;
 import org.cacert.gigi.output.template.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.AuthorizationContext;
-import org.cacert.gigi.util.Notary;
 
 public class AssurePage extends Page {
 
@@ -25,11 +23,10 @@ public class AssurePage extends Page {
 
     DateSelector ds = new DateSelector("day", "month", "year");
 
-    private final Template t;
+    private static final Template t = new Template(AssuranceForm.class.getResource("AssureeSearch.templ"));
 
     public AssurePage() {
-        super("Assure someone");
-        t = new Template(AssuranceForm.class.getResource("AssureeSearch.templ"));
+        super("Verify someone");
 
     }
 
@@ -47,26 +44,23 @@ public class AssurePage extends Page {
         return ac != null && ac.canAssure();
     }
 
+    @Override
+    public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+        if (req.getParameter("search") == null) {
+            AssuranceForm form = Form.getForm(req, AssuranceForm.class);
+            return form.submitExceptionProtected(req, resp);
+        }
+        return super.beforePost(req, resp);
+    }
+
     @Override
     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         PrintWriter out = resp.getWriter();
         if (req.getParameter("search") == null) {
-            AssuranceForm form = Form.getForm(req, AssuranceForm.class);
-            try {
-                if (form.submit(out, req)) {
-                    out.println(translate(req, "Assurance complete."));
-                    return;
-                }
-            } catch (GigiApiException e) {
-                e.format(out, Page.getLanguage(req));
-                try {
-                    Notary.checkAssuranceIsPossible(LoginPage.getUser(req), form.getAssuree());
-                    form.output(out, getLanguage(req), new HashMap<String, Object>());
-                } catch (GigiApiException e1) {
-                    e1.format(out, Page.getLanguage(req));
-                }
+            if (Form.printFormErrors(req, out)) {
+                AssuranceForm form = Form.getForm(req, AssuranceForm.class);
+                form.output(out, getLanguage(req), new HashMap<String, Object>());
             }
-
             return;
         }
 
@@ -89,9 +83,7 @@ public class AssurePage extends Page {
 
                     } else {
                         User assuree = User.getById(id);
-                        User myself = LoginPage.getUser(req);
                         try {
-                            Notary.checkAssuranceIsPossible(myself, assuree);
                             new AssuranceForm(req, assuree).output(out, getLanguage(req), new HashMap<String, Object>());
                         } catch (GigiApiException e) {
                             e.format(out, Page.getLanguage(req));