X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMyDetails.java;h=e6ba3ead537408fa6f1e36a0abfe480f01e4884a;hb=d7271af56f7c4f3381ea079f1be1a52124e1d241;hp=6bce47b8cac5e1e7a7271dc3896f13c686359fc0;hpb=065ca60170f2471227dc25784e1a4c3b7912d367;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MyDetails.java b/src/org/cacert/gigi/pages/account/MyDetails.java index 6bce47b8..e6ba3ead 100644 --- a/src/org/cacert/gigi/pages/account/MyDetails.java +++ b/src/org/cacert/gigi/pages/account/MyDetails.java @@ -1,7 +1,5 @@ package org.cacert.gigi.pages.account; -import static org.cacert.gigi.Gigi.USER; - import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; @@ -9,39 +7,50 @@ import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.User; -import org.cacert.gigi.output.DateSelector; +import org.cacert.gigi.output.template.Form; +import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; -import org.cacert.gigi.util.HTMLEncoder; public class MyDetails extends Page { - public MyDetails() { - super("My Details"); - } - - public static final String PATH = "/account/details"; - - @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) - throws IOException { - User u = (User) req.getSession().getAttribute(USER); - - PrintWriter out = resp.getWriter(); - HashMap map = new HashMap(); - map.put("fname", HTMLEncoder.encodeHTML(u.getFname())); - map.put("mname", - u.getMname() == null - ? "" - : HTMLEncoder.encodeHTML(u.getMname())); - map.put("lname", HTMLEncoder.encodeHTML(u.getLname())); - map.put("suffix", - u.getSuffix() == null ? "" : HTMLEncoder.encodeHTML(u - .getSuffix())); - DateSelector ds = new DateSelector("day", "month", "year"); - map.put("DoB", ds); - map.put("details", ""); - getDefaultTemplate().output(out, getLanguage(req), map); - - } + public MyDetails() { + super("My Details"); + } + + public static final String PATH = "/account/details"; + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + PrintWriter out = resp.getWriter(); + HashMap map = new HashMap(); + MyDetailsForm form = new MyDetailsForm(req, getUser(req)); + map.put("detailsForm", form); + if (LoginPage.getUser(req).getOrganisations().size() != 0) { + map.put("orgaForm", new MyOrganisationsForm(req)); + } + getDefaultTemplate().output(out, getLanguage(req), map); + } + + @Override + public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if (req.getParameter("orgaForm") != null) { + return Form.getForm(req, MyOrganisationsForm.class).submitExceptionProtected(req, resp); + } + if (req.getParameter("action") != null || req.getParameter("removeName") != null || req.getParameter("deprecateName") != null || req.getParameter("preferred") != null) { + return Form.getForm(req, MyDetailsForm.class).submitExceptionProtected(req, resp); + } + return false; + } + + @Override + public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if (Form.printFormErrors(req, resp.getWriter())) { + if (req.getParameter("orgaForm") != null) { + Form.getForm(req, MyOrganisationsForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); + } + if (req.getParameter("action") != null || req.getParameter("removeName") != null || req.getParameter("deprecateName") != null || req.getParameter("preferred") != null) { + Form.getForm(req, MyDetailsForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); + } + } + } }