From: Janis Streib Date: Tue, 29 Jul 2014 22:49:32 +0000 (+0200) Subject: ADD: Domain deletion X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=c330d2ce37cf4959f2281621f1af097be8c1a48b ADD: Domain deletion --- diff --git a/src/org/cacert/gigi/pages/account/DomainManagementForm.java b/src/org/cacert/gigi/pages/account/DomainManagementForm.java index 3d72dafd..675c6041 100644 --- a/src/org/cacert/gigi/pages/account/DomainManagementForm.java +++ b/src/org/cacert/gigi/pages/account/DomainManagementForm.java @@ -6,22 +6,44 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.Domain; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.Language; +import org.cacert.gigi.User; 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 DomainManagementForm extends Form { private static final Template t = new Template(DomainManagementForm.class.getResource("DomainManagementForm.templ")); - public DomainManagementForm(HttpServletRequest hsr) { + private User target; + + public DomainManagementForm(HttpServletRequest hsr, User target) { super(hsr); + this.target = target; } @Override public boolean submit(PrintWriter out, HttpServletRequest req) { - return false; + 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; + } + return true; } @Override diff --git a/src/org/cacert/gigi/pages/account/DomainManagementForm.templ b/src/org/cacert/gigi/pages/account/DomainManagementForm.templ index 879943c7..574cac7c 100644 --- a/src/org/cacert/gigi/pages/account/DomainManagementForm.templ +++ b/src/org/cacert/gigi/pages/account/DomainManagementForm.templ @@ -15,4 +15,7 @@ + + + \ No newline at end of file diff --git a/src/org/cacert/gigi/pages/account/DomainOverview.java b/src/org/cacert/gigi/pages/account/DomainOverview.java index cff8b28a..4b298f87 100644 --- a/src/org/cacert/gigi/pages/account/DomainOverview.java +++ b/src/org/cacert/gigi/pages/account/DomainOverview.java @@ -21,7 +21,7 @@ public class DomainOverview extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { User u = getUser(req); - DomainManagementForm domMan = new DomainManagementForm(req); + DomainManagementForm domMan = new DomainManagementForm(req, u); DomainAddForm domAdd = new DomainAddForm(req, u); HashMap vars = new HashMap<>(); vars.put("doms", u.getDomains()); @@ -34,10 +34,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); }