package org.cacert.gigi;
+import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.Date;
import java.util.Calendar;
import org.cacert.gigi.database.DatabaseConnection;
return null;
}
+
+ public void updateDefaultEmail(EmailAddress newMail) {
+ try {
+ EmailAddress[] adrs = getEmails();
+ for (int i = 0; i < adrs.length; i++) {
+ if (adrs[i].getAddress().equals(newMail.getAddress())) {
+ PreparedStatement ps = DatabaseConnection.getInstance().prepare(
+ "UPDATE users SET email=? WHERE id=?");
+ ps.setString(1, newMail.getAddress());
+ ps.setInt(2, getId());
+ ps.execute();
+ email = newMail.getAddress();
+ return;
+ }
+ }
+ throw new IllegalArgumentException("Given address not an address of the user.");
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
}
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 {
+ target.updateDefaultEmail(EmailAddress.getById(Integer.parseInt(req.getParameter("emailid").trim())));
+ } catch (Exception e) {
+ out.println("<b>Error precessing your request.</b>");
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
return false;
}
vars.put("mailData", t);
vars.put("us", us);
vars.put("addForm", new MailAddForm(req, us));
- vars.put("manForm", new MailManagementForm(req));
+ vars.put("manForm", new MailManagementForm(req, us));
getDefaultTemplate().output(resp.getWriter(), lang, vars);
}
@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)) {