]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/MyDetails.java
upd: split certificate issuance as organisation into seperate
[gigi.git] / src / org / cacert / gigi / pages / account / MyDetails.java
index c3f114167d51920ad80996afc7640d7f5eace3f8..a6118c67cd97925768063063fcba015d0e0454ff 100644 (file)
@@ -1,58 +1,53 @@
 package org.cacert.gigi.pages.account;
 
-import static org.cacert.gigi.Gigi.USER;
-
 import java.io.IOException;
-import java.io.InputStreamReader;
 import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
 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;
+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 {
-       private Template t;
-
-       public MyDetails() {
-               super("My Details");
-               try {
-                       t = new Template(new InputStreamReader(
-                                       MyDetails.class.getResourceAsStream(MyDetails.class
-                                                       .getSimpleName() + ".templ"), "UTF-8"));
-               } catch (UnsupportedEncodingException e) {
-                       e.printStackTrace();
-               }
-       }
-
-       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", "");
-               t.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));
+        MyListingForm listingForm = new MyListingForm(req, getUser(req));
+        map.put("detailsForm", form);
+        map.put("contactMeForm", listingForm);
+        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 if (req.getParameter("processDetails") != null) {
+            MyDetailsForm form = Form.getForm(req, MyDetailsForm.class);
+            form.submit(resp.getWriter(), req);
+        } else if (req.getParameter("processContact") != null) {
+            MyListingForm form = Form.getForm(req, MyListingForm.class);
+            form.submit(resp.getWriter(), req);
+        } else {
+            return false;
+        }
+        resp.sendRedirect(PATH);
+        return true;
+    }
+
 }