X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FDomainOverview.java;h=821517714f15c3c371bb710bbfdde590b1679752;hp=cff8b28a7fd48230126f25d3e49456c5e6d969f1;hb=e409ba881965634f63f0b67824bc93dda4ec4327;hpb=4673274749190fa61c452c742b3a70b872fa3e1b diff --git a/src/org/cacert/gigi/pages/account/DomainOverview.java b/src/org/cacert/gigi/pages/account/DomainOverview.java index cff8b28a..82151771 100644 --- a/src/org/cacert/gigi/pages/account/DomainOverview.java +++ b/src/org/cacert/gigi/pages/account/DomainOverview.java @@ -2,17 +2,25 @@ package org.cacert.gigi.pages.account; import java.io.IOException; import java.util.HashMap; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.User; +import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.Domain; +import org.cacert.gigi.dbObjects.User; +import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.IterableDataset; +import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; public class DomainOverview extends Page { - public static final String PATH = "/account/domains"; + public static final String PATH = "/account/domains/"; + + private Template domainDetails = new Template(DomainOverview.class.getResource("DomainDetails.templ")); public DomainOverview(String title) { super(title); @@ -21,7 +29,49 @@ public class DomainOverview extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { User u = getUser(req); - DomainManagementForm domMan = new DomainManagementForm(req); + String pi = req.getPathInfo(); + if (pi.length() - PATH.length() > 0) { + int i = Integer.parseInt(pi.substring(PATH.length())); + Domain d = Domain.getById(i); + if (u.getId() != d.getOwner().getId()) { + System.out.println(u.getId()); + System.out.println(d.getOwner().getId()); + return; + } + try { + final String[][] pings = d.getPings(); + HashMap vars = new HashMap<>(); + vars.put("domainname", d.getSuffix()); + vars.put("pings", new IterableDataset() { + + int counter = 0; + + @Override + public boolean next(Language l, Map vars) { + if (counter >= pings.length) { + return false; + } + vars.put("state", pings[counter][0]); + vars.put("type", pings[counter][1]); + vars.put("config", pings[counter][2]); + String ping3 = pings[counter][3]; + if (ping3 == null) { + vars.put("result", ""); + } else { + vars.put("result", ping3); + } + counter++; + return true; + } + }); + domainDetails.output(resp.getWriter(), getLanguage(req), vars); + return; + } catch (GigiApiException e) { + e.format(resp.getWriter(), getLanguage(req)); + } + + } + DomainManagementForm domMan = new DomainManagementForm(req, u); DomainAddForm domAdd = new DomainAddForm(req, u); HashMap vars = new HashMap<>(); vars.put("doms", u.getDomains()); @@ -34,10 +84,14 @@ public class DomainOverview extends Page { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { if (req.getParameter("adddomain") != null) { DomainAddForm f = Form.getForm(req, DomainAddForm.class); - f.submit(resp.getWriter(), req); - } else if (req.getParameter("") != null) { + if (f.submit(resp.getWriter(), req)) { + resp.sendRedirect(PATH); + } + } else if (req.getParameter("domdel") != null) { DomainManagementForm f = Form.getForm(req, DomainManagementForm.class); - f.submit(resp.getWriter(), req); + if (f.submit(resp.getWriter(), req)) { + resp.sendRedirect(PATH); + } } super.doPost(req, resp); }