]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/MailManagementForm.java
UPD: Use gigiapiexceptions
[gigi.git] / src / org / cacert / gigi / pages / account / MailManagementForm.java
1 package org.cacert.gigi.pages.account;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.cacert.gigi.EmailAddress;
9 import org.cacert.gigi.GigiApiException;
10 import org.cacert.gigi.Language;
11 import org.cacert.gigi.User;
12 import org.cacert.gigi.output.Form;
13 import org.cacert.gigi.output.template.Template;
14 import org.cacert.gigi.pages.Page;
15
16 public class MailManagementForm extends Form {
17         private static Template t;
18         private User target;
19         static {
20                 t = new Template(ChangePasswordPage.class.getResource("MailManagementForm.templ"));
21         }
22
23         public MailManagementForm(HttpServletRequest hsr, User target) {
24                 super(hsr);
25                 this.target = target;
26         }
27
28         @Override
29         public boolean submit(PrintWriter out, HttpServletRequest req) {
30                 if (req.getParameter("makedefault") != null) {
31                         try {
32                                 String mailid = req.getParameter("emailid");
33                                 if (mailid == null) {
34                                         return false;
35                                 }
36                                 target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(mailid.trim())));
37                         } catch (GigiApiException e) {
38                                 e.format(out, Page.getLanguage(req));
39                                 e.printStackTrace();
40                                 return false;
41                         }
42                         return true;
43                 }
44                 if (req.getParameter("delete") != null) {
45                         String[] toDel = req.getParameterValues("delid[]");
46                         if (toDel == null) {
47                                 return false;
48                         }
49                         for (int i = 0; i < toDel.length; i++) {
50                                 try {
51                                         target.deleteEmail(EmailAddress.getById(Integer.parseInt(toDel[i].trim())));
52                                 } catch (GigiApiException e) {
53                                         e.format(out, Page.getLanguage(req));
54                                         e.printStackTrace();
55                                         return false;
56                                 }
57                         }
58                         return true;
59
60                 }
61                 return false;
62         }
63
64         @Override
65         protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
66                 t.output(out, l, vars);
67         }
68
69 }