]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java
Fix: send domain ping reconfigurations to correct form
[gigi.git] / src / org / cacert / gigi / pages / account / domain / DomainPinglogForm.java
index 4d4a36fee63b6cad3b3aa66afb64bc68a6cb240a..53f8cbd4a1093eb1c3671d15c312eac2ee4bfc2a 100644 (file)
@@ -9,10 +9,12 @@ import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.Domain.DomainPingExecution;
 import org.cacert.gigi.dbObjects.DomainPingConfiguration;
+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;
 
 public class DomainPinglogForm extends Form {
 
@@ -27,7 +29,20 @@ public class DomainPinglogForm extends Form {
 
     @Override
     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
-        return false;
+        User u = Page.getUser(req);
+
+        int i = Integer.parseInt(req.getPathInfo().substring(DomainOverview.PATH.length()));
+        Domain d = Domain.getById(i);
+        if (u.getId() != d.getOwner().getId()) {
+            return false;
+        }
+        int reping = Integer.parseInt(req.getParameter("configId"));
+        DomainPingConfiguration dpc = DomainPingConfiguration.getById(reping);
+        if (dpc.getTarget() != d) {
+            return false;
+        }
+        dpc.requestReping();
+        return true;
     }
 
     @Override