From: Felix Dörre Date: Wed, 23 Jul 2014 09:56:42 +0000 (+0200) Subject: Add mail: relocate actions into form. X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=d0df8a3544aeef4858a1c99d07252f69d659f98e Add mail: relocate actions into form. + Send redirect on successfull form completions. --- diff --git a/src/org/cacert/gigi/pages/account/MailAddForm.java b/src/org/cacert/gigi/pages/account/MailAddForm.java index 543dff14..bdbf0a39 100644 --- a/src/org/cacert/gigi/pages/account/MailAddForm.java +++ b/src/org/cacert/gigi/pages/account/MailAddForm.java @@ -5,10 +5,14 @@ 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; +import org.cacert.gigi.util.RandomToken; public class MailAddForm extends Form { private static Template t; @@ -16,9 +20,11 @@ public class MailAddForm extends Form { 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 @@ -30,13 +36,11 @@ public class MailAddForm extends Form { return false; } mail = formMail; + EmailAddress addr = new EmailAddress(mail, target, RandomToken.generateToken(16)); + addr.insert(Page.getLanguage(req)); return true; } - public String getMail() { - return mail; - } - @Override protected void outputContent(PrintWriter out, Language l, Map vars) { t.output(out, l, vars); diff --git a/src/org/cacert/gigi/pages/account/MailOverview.java b/src/org/cacert/gigi/pages/account/MailOverview.java index 15be75c4..c9956bee 100644 --- a/src/org/cacert/gigi/pages/account/MailOverview.java +++ b/src/org/cacert/gigi/pages/account/MailOverview.java @@ -11,7 +11,6 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.EmailAddress; import org.cacert.gigi.Language; import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; @@ -19,7 +18,6 @@ import org.cacert.gigi.output.Form; import org.cacert.gigi.output.Outputable; import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; -import org.cacert.gigi.util.RandomToken; public class MailOverview extends Page { public static final String DEFAULT_PATH = "/account/mails"; @@ -44,7 +42,7 @@ public class MailOverview extends Page { vars.put("mailData", t); vars.put("res", rs); vars.put("us", us.getEmail()); - vars.put("addForm", new MailAddForm(req)); + vars.put("addForm", new MailAddForm(req, us)); vars.put("manForm", new MailManagementForm(req)); getDefaultTemplate().output(resp.getWriter(), lang, vars); } catch (SQLException e) { @@ -59,8 +57,7 @@ public class MailOverview extends Page { if (req.getParameter("addmail") != null) { MailAddForm f = Form.getForm(req, MailAddForm.class); if (f.submit(out, req)) { - EmailAddress addr = new EmailAddress(f.getMail(), us, RandomToken.generateToken(16)); - addr.insert(Page.getLanguage(req)); + resp.sendRedirect(MailOverview.DEFAULT_PATH); } } else if (req.getParameter("makedefault") != null || req.getParameter("delete") != null) { System.out.println("MakeDefault/Delete");