From: Janis Streib Date: Thu, 24 Jul 2014 21:32:38 +0000 (+0200) Subject: ADD: Mail delete X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=2cbe88c14309c3a10dab336cb395c3e995d81ec5 ADD: Mail delete --- diff --git a/src/org/cacert/gigi/User.java b/src/org/cacert/gigi/User.java index 2c117817..0eed2b8c 100644 --- a/src/org/cacert/gigi/User.java +++ b/src/org/cacert/gigi/User.java @@ -287,4 +287,17 @@ public class User { e.printStackTrace(); } } + + public void deleteEmail(EmailAddress mail) { + if (getEmail().equals(mail.getAddress())) { + throw new IllegalArgumentException("Can't delete user's default e-mail."); + } + try { + PreparedStatement ps = DatabaseConnection.getInstance().prepare("DELETE FROM email WHERE id=?"); + ps.setInt(1, mail.getId()); + ps.execute(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } diff --git a/src/org/cacert/gigi/pages/account/MailManagementForm.java b/src/org/cacert/gigi/pages/account/MailManagementForm.java index 842ad051..c6a96543 100644 --- a/src/org/cacert/gigi/pages/account/MailManagementForm.java +++ b/src/org/cacert/gigi/pages/account/MailManagementForm.java @@ -27,7 +27,11 @@ public class MailManagementForm extends Form { public boolean submit(PrintWriter out, HttpServletRequest req) { if (req.getParameter("makedefault") != null) { try { - target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(req.getParameter("emailid").trim()))); + String mailid = req.getParameter("emailid"); + if (mailid == null) { + return false; + } + target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(mailid.trim()))); } catch (Exception e) { out.println("Error precessing your request."); e.printStackTrace(); @@ -35,6 +39,23 @@ public class MailManagementForm extends Form { } return true; } + if (req.getParameter("delete") != null) { + String[] toDel = req.getParameterValues("delid[]"); + if (toDel == null) { + return false; + } + for (int i = 0; i < toDel.length; i++) { + try { + target.deleteEmail(EmailAddress.getById(Integer.parseInt(toDel[i].trim()))); + } catch (Exception e) { + out.println("Error precessing your request."); + e.printStackTrace(); + return false; + } + } + return true; + + } return false; } diff --git a/src/org/cacert/gigi/pages/account/MailOverview.java b/src/org/cacert/gigi/pages/account/MailOverview.java index a1360531..7fd5a7fa 100644 --- a/src/org/cacert/gigi/pages/account/MailOverview.java +++ b/src/org/cacert/gigi/pages/account/MailOverview.java @@ -46,7 +46,6 @@ public class MailOverview extends Page { resp.sendRedirect(MailOverview.DEFAULT_PATH); } } 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); }