From 4673274749190fa61c452c742b3a70b872fa3e1b Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Wed, 30 Jul 2014 00:34:23 +0200 Subject: [PATCH] ADD: Domain insert --- .../gigi/pages/account/DomainAddForm.java | 22 +++++++++++++++++-- .../gigi/pages/account/DomainOverview.java | 14 +++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/org/cacert/gigi/pages/account/DomainAddForm.java b/src/org/cacert/gigi/pages/account/DomainAddForm.java index da303a8d..1a2b61a0 100644 --- a/src/org/cacert/gigi/pages/account/DomainAddForm.java +++ b/src/org/cacert/gigi/pages/account/DomainAddForm.java @@ -5,21 +5,39 @@ 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.Template; +import org.cacert.gigi.pages.Page; public class DomainAddForm extends Form { private static final Template t = new Template(DomainManagementForm.class.getResource("DomainAddForm.templ")); - public DomainAddForm(HttpServletRequest hsr) { + private User target; + + public DomainAddForm(HttpServletRequest hsr, User target) { super(hsr); + this.target = target; } @Override public boolean submit(PrintWriter out, HttpServletRequest req) { - return false; + try { + String parameter = req.getParameter("newdomain"); + if (parameter.trim().isEmpty()) { + throw new GigiApiException("No domain inserted."); + } + Domain d = new Domain(target, parameter); + d.insert(); + return true; + } catch (GigiApiException e) { + e.format(out, Page.getLanguage(req)); + return false; + } } @Override diff --git a/src/org/cacert/gigi/pages/account/DomainOverview.java b/src/org/cacert/gigi/pages/account/DomainOverview.java index e80fff1b..cff8b28a 100644 --- a/src/org/cacert/gigi/pages/account/DomainOverview.java +++ b/src/org/cacert/gigi/pages/account/DomainOverview.java @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.cacert.gigi.User; +import org.cacert.gigi.output.Form; import org.cacert.gigi.pages.Page; public class DomainOverview extends Page { @@ -21,7 +22,7 @@ public class DomainOverview extends Page { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { User u = getUser(req); DomainManagementForm domMan = new DomainManagementForm(req); - DomainAddForm domAdd = new DomainAddForm(req); + DomainAddForm domAdd = new DomainAddForm(req, u); HashMap vars = new HashMap<>(); vars.put("doms", u.getDomains()); vars.put("domainman", domMan); @@ -29,4 +30,15 @@ public class DomainOverview extends Page { getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } + @Override + 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) { + DomainManagementForm f = Form.getForm(req, DomainManagementForm.class); + f.submit(resp.getWriter(), req); + } + super.doPost(req, resp); + } } -- 2.39.2