X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fdomain%2FDomainManagementForm.java;h=c6ea009f1d3dc669c8edfcfc8ed3fca1e9060bca;hb=474ccb03d08aff1d1f321bed9ea089bbe23943bf;hp=98e3cab3129be8ab9bc9da428ee3151efb8776be;hpb=dc10b875c132eb7840a6b9827ec93916076d34f7;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/domain/DomainManagementForm.java b/src/org/cacert/gigi/pages/account/domain/DomainManagementForm.java index 98e3cab3..c6ea009f 100644 --- a/src/org/cacert/gigi/pages/account/domain/DomainManagementForm.java +++ b/src/org/cacert/gigi/pages/account/domain/DomainManagementForm.java @@ -12,8 +12,7 @@ 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.util.ServerConstants; +import org.cacert.gigi.pages.orga.ViewOrgPage; public class DomainManagementForm extends Form { @@ -21,35 +20,35 @@ public class DomainManagementForm extends Form { private CertificateOwner target; - public DomainManagementForm(HttpServletRequest hsr, CertificateOwner target) { + private boolean foreign; + + public DomainManagementForm(HttpServletRequest hsr, CertificateOwner target, boolean foreign) { super(hsr); this.target = target; + this.foreign = foreign; } @Override - public boolean submit(PrintWriter out, HttpServletRequest req) { - try { - String[] dels = req.getParameterValues("delid[]"); - Domain[] usDomains = target.getDomains(); - for (int i = 0; i < dels.length; i++) { - int delId = Integer.parseInt(dels[i]); - for (int j = 0; j < usDomains.length; j++) { - if (usDomains[j].getId() == delId) { - usDomains[j].delete(); - break; - } - } - } - } catch (GigiApiException e) { - e.format(out, Page.getLanguage(req)); - return false; + public SubmissionResult submit(HttpServletRequest req) throws GigiApiException { + String dels = req.getParameter("delete"); + + int delId = Integer.parseInt(dels); + Domain d = Domain.getById(delId); + if (d != null && d.getOwner() == target) { + d.delete(); + } else { + throw new GigiApiException("Domain was not found."); + } + if (foreign) { + return new RedirectResult(ViewOrgPage.DEFAULT_PATH + "/" + target.getId()); + } else { + return new RedirectResult(DomainOverview.PATH); } - return true; } @Override protected void outputContent(PrintWriter out, Language l, Map vars) { - final Domain[] doms = (Domain[]) vars.get("doms"); + final Domain[] doms = target.getDomains(); IterableDataset dts = new IterableDataset() { private int point = 0; @@ -61,7 +60,9 @@ public class DomainManagementForm extends Form { } Domain domain = doms[point]; vars.put("id", domain.getId()); - vars.put("domainhref", "https://" + ServerConstants.getWwwHostNamePortSecure() + DomainOverview.PATH + domain.getId()); + if ( !foreign) { + vars.put("domainhref", DomainOverview.PATH + "/" + domain.getId()); + } vars.put("domain", domain.getSuffix()); vars.put("status", l.getTranslation(domain.isVerified() ? "verified" : "not verified")); point++;