X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fmail%2FMailManagementForm.java;h=cbf143976ac6a7bdecf14ad8de9116fb30252ea3;hb=a1d3a796a20e7e2f11364b143ec639d5defa8b5f;hp=4a6fcaefc280356361a65c03adf303ea28646a5c;hpb=b1092da65fd373d945343e01dd8975ec3b84db0a;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java b/src/org/cacert/gigi/pages/account/mail/MailManagementForm.java index 4a6fcaef..cbf14397 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,11 +10,10 @@ 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; -import org.cacert.gigi.pages.account.ChangePasswordPage; public class MailManagementForm extends Form { @@ -21,7 +21,7 @@ public class MailManagementForm extends Form { private User target; static { - t = new Template(ChangePasswordPage.class.getResource("MailManagementForm.templ")); + t = new Template(MailAddForm.class.getResource("MailManagementForm.templ")); } public MailManagementForm(HttpServletRequest hsr, User target) { @@ -31,36 +31,23 @@ 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; + 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)); } - 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; - } - } - return true; - + } catch (GigiApiException e) { + e.format(out, Page.getLanguage(req)); + return false; + } catch (IOException e1) { + new GigiApiException("Error while doing reping.").format(out, Page.getLanguage(req)); + return false; } - return false; + return true; } @Override @@ -79,15 +66,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 {