From c44ef82f34220feb7ef31c49e0a08a45a884038c Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Wed, 30 Jul 2014 00:11:27 +0200 Subject: [PATCH] ADD: DomainManagement forms (display only) --- src/org/cacert/gigi/Gigi.java | 4 +- .../gigi/pages/account/DomainAddForm.java | 30 +++++++++++ .../gigi/pages/account/DomainAddForm.templ | 16 ++++++ .../pages/account/DomainManagementForm.java | 51 +++++++++++++++++++ .../pages/account/DomainManagementForm.templ | 18 +++++++ .../gigi/pages/account/DomainOverview.java | 32 ++++++++++++ .../gigi/pages/account/DomainOverview.templ | 9 ++++ 7 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 src/org/cacert/gigi/pages/account/DomainAddForm.java create mode 100644 src/org/cacert/gigi/pages/account/DomainAddForm.templ create mode 100644 src/org/cacert/gigi/pages/account/DomainManagementForm.java create mode 100644 src/org/cacert/gigi/pages/account/DomainManagementForm.templ create mode 100644 src/org/cacert/gigi/pages/account/DomainOverview.java create mode 100644 src/org/cacert/gigi/pages/account/DomainOverview.templ diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 5590663d..54e1ebfe 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -15,10 +15,10 @@ import javax.servlet.http.HttpSession; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.email.EmailProvider; +import org.cacert.gigi.output.Form.CSRFException; import org.cacert.gigi.output.Menu; import org.cacert.gigi.output.MenuItem; import org.cacert.gigi.output.Outputable; -import org.cacert.gigi.output.Form.CSRFException; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.MainPage; @@ -26,6 +26,7 @@ import org.cacert.gigi.pages.Page; import org.cacert.gigi.pages.TestSecure; import org.cacert.gigi.pages.Verify; import org.cacert.gigi.pages.account.ChangePasswordPage; +import org.cacert.gigi.pages.account.DomainOverview; import org.cacert.gigi.pages.account.MailCertificateAdd; import org.cacert.gigi.pages.account.MailCertificates; import org.cacert.gigi.pages.account.MailOverview; @@ -68,6 +69,7 @@ public class Gigi extends HttpServlet { pages.put(RegisterPage.PATH, new RegisterPage()); pages.put(MailCertificateAdd.PATH, new MailCertificateAdd()); pages.put(MailOverview.DEFAULT_PATH, new MailOverview("My email addresses")); + pages.put(DomainOverview.PATH, new DomainOverview("Domains")); baseTemplate = new Template(Gigi.class.getResource("Gigi.templ")); m = new Menu("Certificates", "cert", new MenuItem(MailOverview.DEFAULT_PATH, "Emails"), new MenuItem("", "Client Certificates"), new MenuItem("", "Domains"), new MenuItem("", "Server Certificates")); super.init(); diff --git a/src/org/cacert/gigi/pages/account/DomainAddForm.java b/src/org/cacert/gigi/pages/account/DomainAddForm.java new file mode 100644 index 00000000..da303a8d --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainAddForm.java @@ -0,0 +1,30 @@ +package org.cacert.gigi.pages.account; + +import java.io.PrintWriter; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.cacert.gigi.Language; +import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.Template; + +public class DomainAddForm extends Form { + + private static final Template t = new Template(DomainManagementForm.class.getResource("DomainAddForm.templ")); + + public DomainAddForm(HttpServletRequest hsr) { + super(hsr); + } + + @Override + public boolean submit(PrintWriter out, HttpServletRequest req) { + return false; + } + + @Override + protected void outputContent(PrintWriter out, Language l, Map vars) { + t.output(out, l, vars); + } + +} diff --git a/src/org/cacert/gigi/pages/account/DomainAddForm.templ b/src/org/cacert/gigi/pages/account/DomainAddForm.templ new file mode 100644 index 00000000..7cc480d5 --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainAddForm.templ @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
diff --git a/src/org/cacert/gigi/pages/account/DomainManagementForm.java b/src/org/cacert/gigi/pages/account/DomainManagementForm.java new file mode 100644 index 00000000..3d72dafd --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainManagementForm.java @@ -0,0 +1,51 @@ +package org.cacert.gigi.pages.account; + +import java.io.PrintWriter; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.cacert.gigi.Domain; +import org.cacert.gigi.Language; +import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.IterableDataset; +import org.cacert.gigi.output.template.Template; + +public class DomainManagementForm extends Form { + + private static final Template t = new Template(DomainManagementForm.class.getResource("DomainManagementForm.templ")); + + public DomainManagementForm(HttpServletRequest hsr) { + super(hsr); + } + + @Override + public boolean submit(PrintWriter out, HttpServletRequest req) { + return false; + } + + @Override + protected void outputContent(PrintWriter out, Language l, Map vars) { + final Domain[] doms = (Domain[]) vars.get("doms"); + IterableDataset dts = new IterableDataset() { + + private int point = 0; + + @Override + public boolean next(Language l, Map vars) { + if (point >= doms.length) { + return false; + } + Domain domain = doms[point]; + vars.put("id", domain.getId()); + vars.put("domain", domain.getSuffix()); + vars.put("status", "??"); + point++; + return true; + } + }; + vars.put("domains", dts); + t.output(out, l, vars); + } + +} diff --git a/src/org/cacert/gigi/pages/account/DomainManagementForm.templ b/src/org/cacert/gigi/pages/account/DomainManagementForm.templ new file mode 100644 index 00000000..879943c7 --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainManagementForm.templ @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + +
Domains +
\ 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 new file mode 100644 index 00000000..e80fff1b --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainOverview.java @@ -0,0 +1,32 @@ +package org.cacert.gigi.pages.account; + +import java.io.IOException; +import java.util.HashMap; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.cacert.gigi.User; +import org.cacert.gigi.pages.Page; + +public class DomainOverview extends Page { + + public static final String PATH = "/account/domains"; + + public DomainOverview(String title) { + super(title); + } + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + User u = getUser(req); + DomainManagementForm domMan = new DomainManagementForm(req); + DomainAddForm domAdd = new DomainAddForm(req); + HashMap vars = new HashMap<>(); + vars.put("doms", u.getDomains()); + vars.put("domainman", domMan); + vars.put("domainadd", domAdd); + getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); + } + +} diff --git a/src/org/cacert/gigi/pages/account/DomainOverview.templ b/src/org/cacert/gigi/pages/account/DomainOverview.templ new file mode 100644 index 00000000..11364a53 --- /dev/null +++ b/src/org/cacert/gigi/pages/account/DomainOverview.templ @@ -0,0 +1,9 @@ + +

+

+ +

+ +

+ +

-- 2.39.2