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=c8245026d8d6b8a0e47f0251e497318f758de6ab;hb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed;hpb=cd14b85c60f736a643842b421b11f41d8fca86c7 diff --git a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java index c8245026..2287a015 100644 --- a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java +++ b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java @@ -1,5 +1,6 @@ package org.cacert.gigi.pages.account.mail; +import java.io.IOException; import java.io.PrintWriter; import java.util.Map; @@ -16,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); @@ -29,37 +27,20 @@ public class MailManagementForm extends Form { } @Override - public boolean submit(PrintWriter out, HttpServletRequest req) { - if (req.getParameter("makedefault") != null) { - try { - String mailid = req.getParameter("emailid"); - if (mailid == null) { - return false; - } - target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(mailid.trim()))); - } catch (GigiApiException e) { - e.format(out, Page.getLanguage(req)); - return false; - } - return true; - } - if (req.getParameter("delete") != null) { - String[] toDel = req.getParameterValues("delid[]"); - if (toDel == null) { - return false; - } - for (int i = 0; i < toDel.length; i++) { - try { - target.deleteEmail(EmailAddress.getById(Integer.parseInt(toDel[i].trim()))); - } catch (GigiApiException e) { - e.format(out, Page.getLanguage(req)); - return false; - } + public boolean submit(HttpServletRequest req) throws GigiApiException { + try { + 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)); } return true; - + } catch (IOException e1) { + throw new GigiApiException("Error while doing reping."); } - return false; } @Override @@ -78,15 +59,21 @@ public class MailManagementForm extends Form { int mailID = emailAddress.getId(); vars.put("id", mailID); if (emailAddress.getAddress().equals(target.getEmail())) { - vars.put("checked", "checked"); + vars.put("default", " disabled"); + vars.put("deletable", " disabled"); } else { - vars.put("checked", ""); + 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 {