X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMailOverview.java;h=15be75c4d594e5cf0357b9cf0f04b129a71d7f22;hb=edd3dc5109f2dbeaf1797c7643d85ba36d0b3763;hp=54eda005753ad85758dc7154731d6f234fd28766;hpb=5b276a9eb3e6d1473e7dd2891eb1d6a9fb82f6a2;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MailOverview.java b/src/org/cacert/gigi/pages/account/MailOverview.java index 54eda005..15be75c4 100644 --- a/src/org/cacert/gigi/pages/account/MailOverview.java +++ b/src/org/cacert/gigi/pages/account/MailOverview.java @@ -11,12 +11,15 @@ 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; +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"; @@ -28,26 +31,45 @@ public class MailOverview extends Page { } @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) - throws IOException { + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { final User us = LoginPage.getUser(req); Language lang = Page.getLanguage(req); int id = us.getId(); try { PreparedStatement ps = DatabaseConnection.getInstance().prepare( - "SELECT * from `email` WHERE `memid`=? AND `deleted`=0"); + "SELECT * from `email` WHERE `memid`=? AND `deleted`=0"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); HashMap vars = new HashMap<>(); vars.put("mailData", t); vars.put("res", rs); vars.put("us", us.getEmail()); + vars.put("addForm", new MailAddForm(req)); + vars.put("manForm", new MailManagementForm(req)); getDefaultTemplate().output(resp.getWriter(), lang, vars); } catch (SQLException e) { e.printStackTrace(); } } + @Override + public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + PrintWriter out = resp.getWriter(); + User us = LoginPage.getUser(req); + 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)); + } + } else if (req.getParameter("makedefault") != null || req.getParameter("delete") != null) { + System.out.println("MakeDefault/Delete"); + MailManagementForm f = Form.getForm(req, MailManagementForm.class); + f.submit(out, req); + } + super.doPost(req, resp); + } + private class MailTable implements Outputable { private String mails, userMail; @@ -63,18 +85,18 @@ public class MailOverview extends Page { String usM = (String) vars.get(userMail); while (rs.next()) { out.println(""); - out.println(""); - out.println(""); + out.println(""); if (rs.getString(7).isEmpty()) { out.print(l.getTranslation("Verified")); } else { out.print(l.getTranslation("Unverified")); } out.print(""); - out.println(""); + out.println(""); String address = rs.getString(3); if (usM.equals(address)) { out.print(l.getTranslation("N/A"));