]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MailAddForm.java
Factor out email sending from "Signup".
[gigi.git] / src / org / cacert / gigi / pages / account / MailAddForm.java
index a36c20214dabed100cecbd9023b8d0a0fa813e57..bea2ef1f11f8164f3bd6296f7c05f3d5186e1787 100644 (file)
@@ -5,23 +5,39 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.cacert.gigi.EmailAddress;
 import org.cacert.gigi.Language;
+import org.cacert.gigi.User;
+import org.cacert.gigi.email.EmailProvider;
 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"));
        }
+       User target;
 
-       public MailAddForm(HttpServletRequest hsr) {
+       public MailAddForm(HttpServletRequest hsr, User target) {
                super(hsr);
+               this.target = target;
        }
 
        @Override
        public boolean submit(PrintWriter out, HttpServletRequest req) {
-               return false;
+               String formMail = req.getParameter("newemail");
+               if (!EmailProvider.MAIL.matcher(formMail).matches()) {
+                       // TODO Proper error output (css, maybe abstract)
+                       out.println("<b>Error: Invalid address!</b>");
+                       return false;
+               }
+               mail = formMail;
+               EmailAddress addr = new EmailAddress(mail, target);
+               addr.insert(Page.getLanguage(req));
+               return true;
        }
 
        @Override