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=d233563992c437d9d336d967a8e4d5147a7ee4c3;hb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed;hpb=8b8d9aeca13b47b9d865b2aa230f40c1d910351a diff --git a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java index d2335639..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; @@ -9,19 +10,16 @@ import org.cacert.gigi.GigiApiException; 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.Form; import org.cacert.gigi.output.template.IterableDataset; import org.cacert.gigi.output.template.Template; 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 {