]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MailManagementForm.java
ADD: Mail delete
[gigi.git] / src / org / cacert / gigi / pages / account / MailManagementForm.java
index 0eaa16cbb25c3b430dbbf5a1c5a4159f81e4e607..c6a96543251300f08f77a4e3565d8b61d366b752 100644 (file)
@@ -5,22 +5,57 @@ 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.output.Form;
 import org.cacert.gigi.output.template.Template;
 
 public class MailManagementForm extends Form {
        private static Template t;
+       private User target;
        static {
                t = new Template(ChangePasswordPage.class.getResource("MailManagementForm.templ"));
        }
 
-       public MailManagementForm(HttpServletRequest hsr) {
+       public MailManagementForm(HttpServletRequest hsr, User target) {
                super(hsr);
+               this.target = target;
        }
 
        @Override
        public boolean submit(PrintWriter out, HttpServletRequest req) {
+               if (req.getParameter("makedefault") != null) {
+                       try {
+                               String mailid = req.getParameter("emailid");
+                               if (mailid == null) {
+                                       return false;
+                               }
+                               target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(mailid.trim())));
+                       } catch (Exception e) {
+                               out.println("<b>Error precessing your request.</b>");
+                               e.printStackTrace();
+                               return false;
+                       }
+                       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("<b>Error precessing your request.</b>");
+                                       e.printStackTrace();
+                                       return false;
+                               }
+                       }
+                       return true;
+
+               }
                return false;
        }