]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/mail/MailAddForm.java
d4d46eae8602ec14db93b73b6607010b469fe410
[gigi.git] / src / org / cacert / gigi / pages / account / mail / MailAddForm.java
1 package org.cacert.gigi.pages.account.mail;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.dbObjects.EmailAddress;
10 import org.cacert.gigi.dbObjects.User;
11 import org.cacert.gigi.localisation.Language;
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 MailAddForm extends Form {
17
18     private static Template t;
19
20     private String mail;
21     static {
22         t = new Template(MailAddForm.class.getResource("MailAddForm.templ"));
23     }
24
25     private User target;
26
27     public MailAddForm(HttpServletRequest hsr, User target) {
28         super(hsr);
29         this.target = target;
30     }
31
32     @Override
33     public boolean submit(PrintWriter out, HttpServletRequest req) {
34         String formMail = req.getParameter("newemail");
35         mail = formMail;
36         try {
37             EmailAddress addr = new EmailAddress(target, mail);
38             addr.insert(Page.getLanguage(req));
39         } catch (IllegalArgumentException e) {
40             out.println("<div class='formError'>Error: Invalid address!</div>");
41             return false;
42         } catch (GigiApiException e) {
43             e.format(out, Page.getLanguage(req));
44             return false;
45         }
46         return true;
47     }
48
49     @Override
50     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
51         t.output(out, l, vars);
52     }
53
54 }