X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailAddForm.java;h=3500faaeb8e080cbe00ee0fbba4fe655487174c8;hb=6457124fbfc81ab82fb0e8a533ad930d991dbf64;hp=a36c20214dabed100cecbd9023b8d0a0fa813e57;hpb=609e22be92cd549a41eaac0eaf37079f08001a24;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MailAddForm.java b/src/org/cacert/gigi/pages/account/MailAddForm.java index a36c2021..3500faae 100644 --- a/src/org/cacert/gigi/pages/account/MailAddForm.java +++ b/src/org/cacert/gigi/pages/account/MailAddForm.java @@ -5,28 +5,46 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; -import org.cacert.gigi.Language; +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; - static { - t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ")); - } - - public MailAddForm(HttpServletRequest hsr) { - super(hsr); - } - - @Override - public boolean submit(PrintWriter out, HttpServletRequest req) { - return false; - } - - @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); + } }