X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailAddForm.java;h=44634de1ea575cddc100a6708b2570d22e563a1c;hb=ba85a7c9ccd88b2a2b3e8d2f7f350019a24cb65e;hp=611fa76930db299e69156036adbb5de7195acf1a;hpb=8a5e99d7f9ece871973c08d9762ca9f9a9511722;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MailAddForm.java b/src/org/cacert/gigi/pages/account/MailAddForm.java index 611fa769..44634de1 100644 --- a/src/org/cacert/gigi/pages/account/MailAddForm.java +++ b/src/org/cacert/gigi/pages/account/MailAddForm.java @@ -6,43 +6,45 @@ 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.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")); - } - 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"); - if (!EmailProvider.MAIL.matcher(formMail).matches()) { - // TODO Proper error output (css, maybe abstract) - out.println("
Error: Invalid address!
"); - return false; - } - mail = formMail; - EmailAddress addr = new EmailAddress(mail, target); - addr.insert(Page.getLanguage(req)); - return true; - } - - @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); + } }