X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailAddForm.java;h=3500faaeb8e080cbe00ee0fbba4fe655487174c8;hb=ddd7c3ce88e16965e5330ad53de4167e104ec430;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..3500faae 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")); + } + + private 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); + } }