]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MailManagementForm.java
There is a test case that needs cache punging.
[gigi.git] / src / org / cacert / gigi / pages / account / MailManagementForm.java
index ffadc63ffd1b89d87596a8f0108f846398cd61ba..1bee5d2327ae7e2523d8f479d0bd9187a8fa65c8 100644 (file)
@@ -5,11 +5,12 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
-import org.cacert.gigi.EmailAddress;
 import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.Language;
-import org.cacert.gigi.User;
+import org.cacert.gigi.dbObjects.EmailAddress;
+import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.localisation.Language;
 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;
 
@@ -63,7 +64,41 @@ public class MailManagementForm extends Form {
 
     @Override
     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
+        final EmailAddress[] emails = target.getEmails();
+        IterableDataset ds = new IterableDataset() {
+
+            private int point = 0;
+
+            @Override
+            public boolean next(Language l, Map<String, Object> vars) {
+                if (point >= emails.length) {
+                    return false;
+                }
+                EmailAddress emailAddress = emails[point];
+                int mailID = emailAddress.getId();
+                vars.put("id", mailID);
+                if (emailAddress.getAddress().equals(target.getEmail())) {
+                    vars.put("checked", "checked");
+                } else {
+                    vars.put("checked", "");
+                }
+                if (emailAddress.isVerified()) {
+                    vars.put("verification", "Verified");
+                } else {
+                    vars.put("verification", "Unverified");
+                }
+                if (target.getEmail().equals(emailAddress.getAddress())) {
+                    vars.put("delete", "N/A");
+                } else {
+                    vars.put("delete", "<input type=\"checkbox\" name=\"delid[]\" value=\"" + mailID + "\"/>");
+                }
+                vars.put("address", emailAddress.getAddress());
+                point++;
+                return true;
+            }
+
+        };
+        vars.put("emails", ds);
         t.output(out, l, vars);
     }
-
 }