]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MailOverview.java
UPD: Send verify mail on insert
[gigi.git] / src / org / cacert / gigi / pages / account / MailOverview.java
index 3e8da14a657db2c7d0e88f63065f6ee661e30280..15be75c4d594e5cf0357b9cf0f04b129a71d7f22 100644 (file)
@@ -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";
@@ -41,12 +44,32 @@ 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("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;
 
@@ -62,18 +85,18 @@ public class MailOverview extends Page {
                                String usM = (String) vars.get(userMail);
                                while (rs.next()) {
                                        out.println("<tr>");
-                                       out.println("<td class=\"DataTD\"><input type=\"radio\" name=\"emailid\" value=\"");
+                                       out.println("<td><input type=\"radio\" name=\"emailid\" value=\"");
                                        int mailID = rs.getInt(1);
                                        out.print(mailID);
                                        out.print("\"/></td>");
-                                       out.println("<td class=\"DataTD\">");
+                                       out.println("<td>");
                                        if (rs.getString(7).isEmpty()) {
                                                out.print(l.getTranslation("Verified"));
                                        } else {
                                                out.print(l.getTranslation("Unverified"));
                                        }
                                        out.print("</td>");
-                                       out.println("<td class=\"DataTD\">");
+                                       out.println("<td>");
                                        String address = rs.getString(3);
                                        if (usM.equals(address)) {
                                                out.print(l.getTranslation("N/A"));