From d0b502321fc3ed0f05d2b9fd82e8e58dadf5c34a Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Wed, 30 Jul 2014 02:03:41 +0200 Subject: [PATCH] UPD: Use new template features in mailmanagement --- .../pages/account/MailManagementForm.java | 37 +++++++++++- .../pages/account/MailManagementForm.templ | 9 ++- .../gigi/pages/account/MailOverview.java | 57 +------------------ 3 files changed, 45 insertions(+), 58 deletions(-) diff --git a/src/org/cacert/gigi/pages/account/MailManagementForm.java b/src/org/cacert/gigi/pages/account/MailManagementForm.java index ffadc63f..354f6d33 100644 --- a/src/org/cacert/gigi/pages/account/MailManagementForm.java +++ b/src/org/cacert/gigi/pages/account/MailManagementForm.java @@ -10,6 +10,7 @@ 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.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 vars) { + final EmailAddress[] emails = (EmailAddress[]) vars.get("mils"); + IterableDataset ds = new IterableDataset() { + + private int point = 0; + + @Override + public boolean next(Language l, Map 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", ""); + } + vars.put("address", emailAddress.getAddress()); + point++; + return true; + } + + }; + vars.put("emails", ds); t.output(out, l, vars); } - } diff --git a/src/org/cacert/gigi/pages/account/MailManagementForm.templ b/src/org/cacert/gigi/pages/account/MailManagementForm.templ index 37338eb4..35d44227 100644 --- a/src/org/cacert/gigi/pages/account/MailManagementForm.templ +++ b/src/org/cacert/gigi/pages/account/MailManagementForm.templ @@ -11,7 +11,14 @@ - + + + > + + + + + diff --git a/src/org/cacert/gigi/pages/account/MailOverview.java b/src/org/cacert/gigi/pages/account/MailOverview.java index 78368678..81c5b9cb 100644 --- a/src/org/cacert/gigi/pages/account/MailOverview.java +++ b/src/org/cacert/gigi/pages/account/MailOverview.java @@ -3,27 +3,21 @@ package org.cacert.gigi.pages.account; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; -import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.EmailAddress; import org.cacert.gigi.Language; import org.cacert.gigi.User; import org.cacert.gigi.output.Form; -import org.cacert.gigi.output.Outputable; import org.cacert.gigi.pages.Page; public class MailOverview extends Page { public static final String DEFAULT_PATH = "/account/mails"; - private MailTable t; - public MailOverview(String title) { super(title); - t = new MailTable("us"); } @Override @@ -31,10 +25,9 @@ public class MailOverview extends Page { final User us = getUser(req); Language lang = Page.getLanguage(req); HashMap vars = new HashMap<>(); - vars.put("mailData", t); - vars.put("us", us); vars.put("addForm", new MailAddForm(req, us)); vars.put("manForm", new MailManagementForm(req, us)); + vars.put("mils", us.getEmails()); getDefaultTemplate().output(resp.getWriter(), lang, vars); } @@ -55,52 +48,4 @@ public class MailOverview extends Page { super.doPost(req, resp); } - private class MailTable implements Outputable { - - private String user; - - public MailTable(String user) { - this.user = user; - } - - @Override - public void output(PrintWriter out, Language l, Map vars) { - User us = (User) vars.get(user); - String usM = us.getEmail(); - EmailAddress[] emails = us.getEmails(); - - for (int i = 0; i < emails.length; i++) { - out.println(""); - out.println(""); - out.println(""); - if (emails[i].isVerified()) { - out.print(l.getTranslation("Verified")); - } else { - out.print(l.getTranslation("Unverified")); - } - out.print(""); - out.println(""); - String address = emails[i].getAddress(); - if (usM.equals(address)) { - out.print(l.getTranslation("N/A")); - } else { - out.print(""); - } - out.print(""); - out.println(""); - out.print(address); - out.print(""); - out.println(""); - } - } - } } -- 2.39.2