]> WPIA git - gigi.git/commitdiff
upd: cleanup Test Manager and add an "add verified email"-form
authorFelix Dörre <felix@dogcraft.de>
Thu, 4 Jun 2015 14:37:10 +0000 (16:37 +0200)
committerFelix Dörre <felix@dogcraft.de>
Thu, 4 Jun 2015 17:19:55 +0000 (19:19 +0200)
util-testing/org/cacert/gigi/pages/Manager.java
util-testing/org/cacert/gigi/pages/Manager.templ

index e76b7c0ac6855b83ce74e67f72ea6598a5d98a33..d8cd700600d6e6d995ba280f53b922e5a4e0a7db 100644 (file)
@@ -25,7 +25,6 @@ import org.cacert.gigi.dbObjects.Name;
 import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.email.EmailProvider;
 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.util.Notary;
@@ -57,6 +56,7 @@ public class Manager extends Page {
                 String mail = "test-assurer" + i + "@example.com";
                 User u = User.getByEmail(mail);
                 if (u == null) {
+                    System.out.println("Creating assurer");
                     createUser(mail);
                     u = User.getByEmail(mail);
                     passCATS(u);
@@ -116,24 +116,6 @@ public class Manager extends Page {
 
     }
 
-    public class ManagementForm extends Form {
-
-        public ManagementForm(HttpServletRequest hsr) {
-            super(hsr);
-        }
-
-        @Override
-        public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
-            return false;
-        }
-
-        @Override
-        protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
-            getDefaultTemplate().output(out, l, vars);
-        }
-
-    }
-
     public void batchCreateUsers(String mailPrefix, String domain, int amount, PrintWriter out) {
 
         try {
@@ -217,6 +199,24 @@ public class Manager extends Page {
                 throw new Error(e);
             }
             resp.getWriter().println("User has been assured.");
+        } else if (req.getParameter("addEmail") != null) {
+            User u = User.getByEmail(req.getParameter("addEmailEmail"));
+            EmailAddress ea = new EmailAddress(u, req.getParameter("addEmailNew"));
+            try {
+                ea.insert(Language.getInstance(Locale.ENGLISH));
+                String hash = (String) f.get(ea);
+                ea.verify(hash);
+                resp.getWriter().println("Email added and verified");
+            } catch (IllegalArgumentException e) {
+                e.printStackTrace();
+                resp.getWriter().println("An internal error occured.");
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+                resp.getWriter().println("An internal error occured.");
+            } catch (GigiApiException e) {
+                e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH));
+            }
+
         }
     }
 
@@ -246,6 +246,8 @@ public class Manager extends Page {
         }
     }
 
+    private Template form = new Template(Manager.class.getResource("Manager.templ"));
+
     @Override
     public boolean needsLogin() {
         return false;
@@ -261,6 +263,6 @@ public class Manager extends Page {
             return;
         }
 
-        new ManagementForm(req).output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
+        form.output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
     }
 }
index 31bedcf1cce76f21dab5f1ec762c42b1d604f562..9d700ee93ee1e06c4c9b334dfbd1cfe861844406 100644 (file)
@@ -1,4 +1,4 @@
-<div>
+<form method='post'>
 Batch create users:
 <div>
   Email: 
@@ -6,9 +6,9 @@ Batch create users:
   <input type="text" name="suffix"/>
 </div>
 Amount:  <input type="slider" name="amount"/> <input type="submit" name="create" value="Create Users"/>
-</div>
-<div>
-Add privillege:
+</form>
+<form method='post'>
+Add privilege:
 Email: <input type="text" name="email"/> 
 <select name="priv">
 <option>supporter</option>
@@ -23,23 +23,30 @@ Email: <input type="text" name="email"/>
 </select>
 <input type="submit" name="addpriv" value="Grant Privillege"/>
 <input type="submit" name="delpriv" value="Revoke Privillege"/>
-</div>
+</form>
 
-<div>
-Recive Mails:
+<form method='post'>
+Receive Mails:
 Email: <input type="text" name="femail"/>
-<input type="submit" value="Recieve Mails" name="fetch"/>
-</div>
+<input type="submit" value="Receive Mails" name="fetch"/>
+</form>
 
-<div>
+<form method='post'>
 Add CATs entry:
 Email: <input type="text" name="catsEmail"/>
 <input type="submit" value="Add CATs" name="cats"/>
-</div>
+</form>
 
 
-<div>
+<form method='post'>
 Add 100 Assurance points:
 Email: <input type="text" name="assureEmail"/>
 <input type="submit" value="Assure 100 Points" name="assure"/>
-</div>
+</form>
+
+<form method='post'>
+Add verified Email:
+Email: <input type="text" name="addEmailEmail"/>
+new Email: <input type="text" name="addEmailNew"/>
+<input type="submit" value="Assure 100 Points" name="addEmail"/>
+</form>