]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/mail/MailAddForm.java
UPD: Cleanup User-class.
[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.template.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             new EmailAddress(target, mail, Page.getLanguage(req).getLocale());
38         } catch (IllegalArgumentException e) {
39             out.println("<div class='formError'>Error: Invalid address!</div>");
40             return false;
41         } catch (GigiApiException e) {
42             e.format(out, Page.getLanguage(req));
43             return false;
44         }
45         return true;
46     }
47
48     @Override
49     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
50         t.output(out, l, vars);
51     }
52
53 }