]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java
upd: use a more strict pattern for handling forms
[gigi.git] / src / org / cacert / gigi / pages / account / domain / DomainPinglogForm.java
index 556051b4d96060aa11c011386c1911dc03663e13..d2e8306675c36b41098aaa1c9753f5e8f26dd636 100644 (file)
@@ -6,19 +6,19 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 
 import org.cacert.gigi.GigiApiException;
+import org.cacert.gigi.dbObjects.CertificateOwner;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.DomainPingConfiguration;
 import org.cacert.gigi.dbObjects.DomainPingExecution;
-import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.output.template.IterableDataset;
 import org.cacert.gigi.output.template.Template;
-import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.pages.LoginPage;
 
 public class DomainPinglogForm extends Form {
 
-    static Template t = new Template(DomainPinglogForm.class.getResource("DomainPinglogForm.templ"));
+    private static final Template t = new Template(DomainPinglogForm.class.getResource("DomainPinglogForm.templ"));
 
     Domain target;
 
@@ -28,18 +28,18 @@ public class DomainPinglogForm extends Form {
     }
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
-        User u = Page.getUser(req);
+    public boolean submit(HttpServletRequest req) throws GigiApiException {
+        CertificateOwner u = LoginPage.getAuthorizationContext(req).getTarget();
 
         int i = Integer.parseInt(req.getPathInfo().substring(DomainOverview.PATH.length()));
         Domain d = Domain.getById(i);
         if (u.getId() != d.getOwner().getId()) {
-            return false;
+            throw new GigiApiException("Error, owner mismatch.");
         }
         int reping = Integer.parseInt(req.getParameter("configId"));
         DomainPingConfiguration dpc = DomainPingConfiguration.getById(reping);
         if (dpc.getTarget() != d) {
-            return false;
+            throw new GigiApiException("Error, target mismatch.");
         }
         dpc.requestReping();
         return true;
@@ -67,6 +67,7 @@ public class DomainPinglogForm extends Form {
                 vars.put("state", pings[counter].getState());
                 vars.put("type", pings[counter].getType());
                 vars.put("config", pings[counter].getInfo());
+                vars.put("date", pings[counter].getDate());
                 String ping3 = pings[counter].getResult();
                 if (ping3 == null) {
                     vars.put("result", "");