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;
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/myDetails";
-
- @Override
- public void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws IOException {
- User u = (User) req.getSession().getAttribute(USER);
-
- PrintWriter out = resp.getWriter();
- HashMap<String, Object> map = new HashMap<String, Object>();
- 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<String, Object> map = new HashMap<String, Object>();
+ 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 beforeTemplate(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ if (req.getParameter("orgaForm") != null) {
+ Form.getForm(req, MyOrganisationsForm.class).submit(resp.getWriter(), req);
+ } else {
+ return false;
+ }
+ resp.sendRedirect(PATH);
+ return true;
+ }
+
+ @Override
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ if (req.getParameter("action") != null || req.getParameter("removeName") != null || req.getParameter("deprecateName") != null || req.getParameter("preferred") != null) {
+ if (Form.getForm(req, MyDetailsForm.class).submit(resp.getWriter(), req)) {
+ resp.sendRedirect(PATH);
+ }
+ }
+ super.doPost(req, resp);
+ }
}