X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailAddForm.java;h=44634de1ea575cddc100a6708b2570d22e563a1c;hb=ba85a7c9ccd88b2a2b3e8d2f7f350019a24cb65e;hp=543dff147e7205494fd49d01816d41c9ea3dd3b6;hpb=3fb5d9ffc2fddb0c713abf22cfe6583fd1140813;p=gigi.git
diff --git a/src/org/cacert/gigi/pages/account/MailAddForm.java b/src/org/cacert/gigi/pages/account/MailAddForm.java
index 543dff14..44634de1 100644
--- a/src/org/cacert/gigi/pages/account/MailAddForm.java
+++ b/src/org/cacert/gigi/pages/account/MailAddForm.java
@@ -5,41 +5,46 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
-import org.cacert.gigi.Language;
-import org.cacert.gigi.email.EmailProvider;
+import org.cacert.gigi.EmailAddress;
+import org.cacert.gigi.User;
+import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.Form;
import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.Page;
public class MailAddForm extends Form {
- private static Template t;
- private String mail;
- static {
- t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ"));
- }
-
- public MailAddForm(HttpServletRequest hsr) {
- super(hsr);
- }
-
- @Override
- public boolean submit(PrintWriter out, HttpServletRequest req) {
- String formMail = req.getParameter("newemail");
- if (!EmailProvider.MAIL.matcher(formMail).matches()) {
- // TODO Proper error output (css, maybe abstract)
- out.println("Error: Invalid address!");
- return false;
- }
- mail = formMail;
- return true;
- }
-
- public String getMail() {
- return mail;
- }
-
- @Override
- protected void outputContent(PrintWriter out, Language l, Map vars) {
- t.output(out, l, vars);
- }
+
+ private static Template t;
+
+ private String mail;
+ static {
+ t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ"));
+ }
+
+ User target;
+
+ public MailAddForm(HttpServletRequest hsr, User target) {
+ super(hsr);
+ this.target = target;
+ }
+
+ @Override
+ public boolean submit(PrintWriter out, HttpServletRequest req) {
+ String formMail = req.getParameter("newemail");
+ mail = formMail;
+ try {
+ EmailAddress addr = new EmailAddress(mail, target);
+ addr.insert(Page.getLanguage(req));
+ } catch (IllegalArgumentException e) {
+ out.println("Error: Invalid address!
");
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ protected void outputContent(PrintWriter out, Language l, Map vars) {
+ t.output(out, l, vars);
+ }
}