X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fmail%2FMailManagementForm.java;h=2287a015fd533ba6706daeaef1e387b345731fda;hp=c082a1be509743ab9b09963a0c2104a0966d0b69;hb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed;hpb=bc51ef4b743b32a7cd3f917a65a2884155b589bb diff --git a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java index c082a1be..2287a015 100644 --- a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java +++ b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java @@ -3,7 +3,6 @@ package org.cacert.gigi.pages.account.mail; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; -import java.util.Map.Entry; import javax.servlet.http.HttpServletRequest; @@ -18,12 +17,9 @@ import org.cacert.gigi.pages.Page; public class MailManagementForm extends Form { - private static Template t; + private static final Template t = new Template(MailAddForm.class.getResource("MailManagementForm.templ")); private User target; - static { - t = new Template(MailAddForm.class.getResource("MailManagementForm.templ")); - } public MailManagementForm(HttpServletRequest hsr, User target) { super(hsr); @@ -31,30 +27,20 @@ public class MailManagementForm extends Form { } @Override - public boolean submit(PrintWriter out, HttpServletRequest req) { - Map map = req.getParameterMap(); + public boolean submit(HttpServletRequest req) throws GigiApiException { try { - for (Entry e : map.entrySet()) { - String k = e.getKey(); - String[] p = k.split(":", 2); - if (p[0].equals("default")) { - target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(p[1]))); - } - if (p[0].equals("delete")) { - target.deleteEmail(EmailAddress.getById(Integer.parseInt(p[1]))); - } - if (p[0].equals("reping")) { - EmailAddress.getById(Integer.parseInt(p[1])).requestReping(Page.getLanguage(req)); - } + String d; + if ((d = req.getParameter("default")) != null) { + target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(d))); + } else if ((d = req.getParameter("delete")) != null) { + target.deleteEmail(EmailAddress.getById(Integer.parseInt(d))); + } else if ((d = req.getParameter("reping")) != null) { + EmailAddress.getById(Integer.parseInt(d)).requestReping(Page.getLanguage(req)); } - } catch (GigiApiException e) { - e.format(out, Page.getLanguage(req)); - return false; + return true; } catch (IOException e1) { - new GigiApiException("Error while doing reping.").format(out, Page.getLanguage(req)); - return false; + throw new GigiApiException("Error while doing reping."); } - return true; } @Override @@ -74,14 +60,20 @@ public class MailManagementForm extends Form { vars.put("id", mailID); if (emailAddress.getAddress().equals(target.getEmail())) { vars.put("default", " disabled"); + vars.put("deletable", " disabled"); } else { + vars.put("deletable", ""); vars.put("default", ""); } if (emailAddress.isVerified()) { - vars.put("verification", "Verified"); + vars.put("verification", l.getTranslation("Verified")); } else { - vars.put("verification", "Unverified"); + // only verified emails may become the default email + // address. + vars.put("default", " disabled"); + vars.put("verification", l.getTranslation("Unverified")); } + vars.put("last_verification", emailAddress.getLastPing(true)); if (target.getEmail().equals(emailAddress.getAddress())) { vars.put("delete", "N/A"); } else {