X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fdomain%2FDomainPinglogForm.java;h=d2e8306675c36b41098aaa1c9753f5e8f26dd636;hp=38be5d98c93550c30a672772c7872193c5a87117;hb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed;hpb=b1092da65fd373d945343e01dd8975ec3b84db0a diff --git a/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java b/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java index 38be5d98..d2e83066 100644 --- a/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java +++ b/src/org/cacert/gigi/pages/account/domain/DomainPinglogForm.java @@ -6,17 +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.Domain.DomainPingExecution; +import org.cacert.gigi.dbObjects.DomainPingExecution; import org.cacert.gigi.localisation.Language; -import org.cacert.gigi.output.Form; +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.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; @@ -26,8 +28,21 @@ public class DomainPinglogForm extends Form { } @Override - public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException { - return false; + 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()) { + throw new GigiApiException("Error, owner mismatch."); + } + int reping = Integer.parseInt(req.getParameter("configId")); + DomainPingConfiguration dpc = DomainPingConfiguration.getById(reping); + if (dpc.getTarget() != d) { + throw new GigiApiException("Error, target mismatch."); + } + dpc.requestReping(); + return true; } @Override @@ -52,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", "");