X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fdomain%2FDomainOverview.java;h=ed707612cc227d3f6b9d96e93e3ef5bde2a0fc29;hb=378cbeb4324adbf7b729c6bf2f8cc50f1b2d918c;hp=906e2a16b88e266cc2c11c1e08b7fc04b2d057d3;hpb=a1a980dd0cc65f33a6189eb81a164fe79abb647c;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/domain/DomainOverview.java b/src/org/cacert/gigi/pages/account/domain/DomainOverview.java index 906e2a16..ed707612 100644 --- a/src/org/cacert/gigi/pages/account/domain/DomainOverview.java +++ b/src/org/cacert/gigi/pages/account/domain/DomainOverview.java @@ -7,10 +7,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.User; import org.cacert.gigi.output.template.Form; +import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; public class DomainOverview extends Page { @@ -23,14 +24,19 @@ public class DomainOverview extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - User u = getUser(req); + CertificateOwner u = LoginPage.getAuthorizationContext(req).getTarget(); String pi = req.getPathInfo(); if (pi.length() - PATH.length() > 0) { int i = Integer.parseInt(pi.substring(PATH.length())); - Domain d = Domain.getById(i); + Domain d; + try { + d = Domain.getById(i); + } catch (IllegalArgumentException e) { + resp.getWriter().println(getLanguage(req).getTranslation("Access denied")); + return; + } if (u.getId() != d.getOwner().getId()) { - System.out.println(u.getId()); - System.out.println(d.getOwner().getId()); + resp.getWriter().println(getLanguage(req).getTranslation("Access denied")); return; } new DomainPinglogForm(req, d).output(resp.getWriter(), getLanguage(req), new HashMap()); @@ -44,11 +50,13 @@ public class DomainOverview extends Page { } try { DomainManagementForm domMan = new DomainManagementForm(req, u); - DomainAddForm domAdd = new DomainAddForm(req, u); HashMap vars = new HashMap<>(); vars.put("doms", u.getDomains()); vars.put("domainman", domMan); - vars.put("domainadd", domAdd); + if (u instanceof User) { + DomainAddForm domAdd = new DomainAddForm(req, (User) u); + vars.put("domainadd", domAdd); + } getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } catch (GigiApiException e) { e.format(resp.getWriter(), getLanguage(req)); @@ -57,26 +65,25 @@ public class DomainOverview extends Page { @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { - User u = getUser(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()) { - return; - } - int reping = Integer.parseInt(req.getParameter("configId")); - DomainPingConfiguration dpc = DomainPingConfiguration.getById(reping); - if (dpc.getTarget() != d) { - return; - } try { - dpc.requestReping(); + if (req.getParameter("configId") != null) { + if ( !Form.getForm(req, DomainPinglogForm.class).submit(resp.getWriter(), req)) { + // error? + } + + } else { + if ( !Form.getForm(req, PingConfigForm.class).submit(resp.getWriter(), req)) { + + } + } } catch (GigiApiException e) { e.format(resp.getWriter(), getLanguage(req)); return; } - resp.sendRedirect(PATH + i); + + resp.sendRedirect(pi); } if (req.getParameter("adddomain") != null) { DomainAddForm f = Form.getForm(req, DomainAddForm.class);