import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
-import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
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);
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
- Map<String, String[]> map = req.getParameterMap();
try {
- for (Entry<String, String[]> 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));
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 {