]> WPIA git - gigi.git/commitdiff
ADD: DomainManagement forms (display only)
authorJanis Streib <janis@dogcraft.de>
Tue, 29 Jul 2014 22:11:27 +0000 (00:11 +0200)
committerJanis Streib <janis@dogcraft.de>
Tue, 29 Jul 2014 22:24:02 +0000 (00:24 +0200)
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/pages/account/DomainAddForm.java [new file with mode: 0644]
src/org/cacert/gigi/pages/account/DomainAddForm.templ [new file with mode: 0644]
src/org/cacert/gigi/pages/account/DomainManagementForm.java [new file with mode: 0644]
src/org/cacert/gigi/pages/account/DomainManagementForm.templ [new file with mode: 0644]
src/org/cacert/gigi/pages/account/DomainOverview.java [new file with mode: 0644]
src/org/cacert/gigi/pages/account/DomainOverview.templ [new file with mode: 0644]

index 5590663ddc2a7fdffe8fe02fcfe01b2e3fdcbd9a..54e1ebfe68b8e48f7631e14354623bd7dc7d90dd 100644 (file)
@@ -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 (file)
index 0000000..da303a8
--- /dev/null
@@ -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<String, Object> 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 (file)
index 0000000..7cc480d
--- /dev/null
@@ -0,0 +1,16 @@
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper dataTable">
+  <thead>
+  <tr>
+    <th colspan="2" class="title"><?=_Add Domain?></th>
+  </tr>
+  </thead>
+<tbody>
+  <tr>
+    <td width="125"><?=_Domain?> </td>
+    <td width="125"><input type="text" name="newdomain" value=""></td>
+  </tr>
+  <tr>
+    <td colspan="2"><input type="submit" name="adddomain" value="<?=_I own or am authorised to control this domain?>"></td>
+  </tr>
+</tbody>
+</table>
diff --git a/src/org/cacert/gigi/pages/account/DomainManagementForm.java b/src/org/cacert/gigi/pages/account/DomainManagementForm.java
new file mode 100644 (file)
index 0000000..3d72daf
--- /dev/null
@@ -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<String, Object> vars) {
+        final Domain[] doms = (Domain[]) vars.get("doms");
+        IterableDataset dts = new IterableDataset() {
+
+            private int point = 0;
+
+            @Override
+            public boolean next(Language l, Map<String, Object> 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 (file)
index 0000000..879943c
--- /dev/null
@@ -0,0 +1,18 @@
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper dataTable">
+  <tbody><tr>
+    <th colspan="3">Domains</td>
+  </tr>
+  <tr>
+    <td><?=_Delete?></td>
+    <td><?=_Status?></td>
+    <td><?=_Address?></td>
+
+  </tr>
+  <? foreach($domains) { ?>
+  <tr>
+       <td><input type="checkbox" name="delid[]" value="<?=$id?>" /></td>
+       <td><?=$status?></td>
+       <td><?=$domain?></td>
+  </tr>
+  <? } ?>
+</tbody></table>
\ 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 (file)
index 0000000..e80fff1
--- /dev/null
@@ -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<String, Object> 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 (file)
index 0000000..11364a5
--- /dev/null
@@ -0,0 +1,9 @@
+<?=$domainman?>
+<h2><?=_Add Domain?></h2>
+<p>
+<?=_Please Note: You only need to enter the main part of your domain, eg. mydomain.com rather then www.mydomain.com. Once you have verified your domain you are able to enter any sub-domain, such as www.mydomain.com or www.this.is.mydomain.com as the system checks from right to left, rather then specific hostnames when you upload a CSR to the system.?>
+</p>
+<?=$domainadd?>
+<p>
+<?=_Currently we only issue certificates for Punycode domains if the person requesting them has code signing attributes attached to their account, as these have potentially slightly higher security risk.?>
+</p>